2 Star 4 Fork 0

limeng32 / flying-demo-use-springboot

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
README.md 4.95 KB
一键复制 编辑 原始数据 按行查看 历史
limeng32 提交于 2020-06-29 16:51 . 优化项目

mybatis.flying 基于 spring-boot 的 demo

(对应 flying-1.0.0)

How to play?

1、获取代码(clone or fork),搭建成 maven 项目。

2、以 maven 命令执行 spring-boot:run

3、以下是初始化时的添加的数据源 dataSource,dataSource 描述了两个购物车和 12 种商品和商品装入购物车以及 3 种会员级别和 3 位用户的情况:

<dataset>
	<CART ID="1" DEAL="0" DEAL_TIME=null PERSON_ID="1"/>
	<CART ID="2" DEAL="0" DEAL_TIME=null PERSON_ID="2" />
	
	<COMMODITY ID="1" NAME="牙刷A" PRICE="1200" />
	<COMMODITY ID="2" NAME="牙刷B" PRICE="1850" />
	<COMMODITY ID="3" NAME="牙刷C" PRICE="2100" />
	<COMMODITY ID="4" NAME="佳洁士牙膏" PRICE="1499" />
	<COMMODITY ID="5" NAME="六必治牙膏" PRICE="1999" />
	<COMMODITY ID="6" NAME="云南白药牙膏" PRICE="2499" />
	<COMMODITY ID="7" NAME="潘婷洗发露" PRICE="3500" />
	<COMMODITY ID="8" NAME="多芬洗发露" PRICE="3900" />
	<COMMODITY ID="9" NAME="海飞丝洗发露" PRICE="5100" />
	<COMMODITY ID="10" NAME="浴液-1500ML" PRICE="2800" />
	<COMMODITY ID="11" NAME="浴液-2000ML" PRICE="3200" />
	<COMMODITY ID="12" NAME="浴液-4000ML" PRICE="4900" />
	
	<CART_COMMODITY ID="1" CART_ID="1" COMM_ID="1" AMOUNT="3" />
	<CART_COMMODITY ID="2" CART_ID="1" COMM_ID="5" AMOUNT="4" />
	<CART_COMMODITY ID="3" CART_ID="1" COMM_ID="8" AMOUNT="1" />
	<CART_COMMODITY ID="4" CART_ID="1" COMM_ID="12" AMOUNT="1" />
	<CART_COMMODITY ID="5" CART_ID="2" COMM_ID="2" AMOUNT="2" />
	<CART_COMMODITY ID="6" CART_ID="2" COMM_ID="4" AMOUNT="1" />
	<CART_COMMODITY ID="7" CART_ID="2" COMM_ID="9" AMOUNT="2" />
	<CART_COMMODITY ID="8" CART_ID="2" COMM_ID="11" AMOUNT="1" />
	
	<ROLE ID="1" NAME="普通会员" VALUE="normal" />
	<ROLE ID="2" NAME="银牌会员" VALUE="silver" />
	<ROLE ID="3" NAME="金牌会员" VALUE="gold" />
	
	<PERSON ID="1" NAME="张三" ROLE_ID="1" />
	<PERSON ID="2" NAME="李四" ROLE_ID="2" />
	<PERSON ID="3" NAME="王五" ROLE_ID="3" />
</dataset>

现在,在浏览器中输入以下 url 可以看到效果:

查看购物车: http://localhost:8080/getCart?id=${购物车cart的id}

查看商品: http://localhost:8080/getCommodity?id=${商品commodity的id}

翻页查看商品(所有条件均为可选): http://localhost:8080/getCommodityInPage?pageNum=${页码}&priceOrder=${按价格升序或降序输入ASC或DESC}&priceFrom=${价格最小值}&priceTo=${价格最大值}

增加新商品: http://localhost:8080/addCommodity?name=${新商品名称}&price=${新商品价格}

编辑商品: http://localhost:8080/updateCommodity?id=${商品的id}&name=${商品的名称}&price=${商品的价格}

查看购物车中的商品: http://localhost:8080/getCommodityByCart?id=${购物车的id}

对购物车进行结账: http://localhost:8080/dealCart?id=${购物车的id}

取消购物车的结账: http://localhost:8080/undealCart?id=${购物车的id}

查看用户: http://localhost:8080/getPerson?id=${用户的id}

查看会员级别: http://localhost:8080/getRole?id=${会员级别的id}

编辑会员级别: http://localhost:8080/updateRoleDirectly?id=${会员级别的id}&name=${会员级别的名称}

查询匹配两个级别值(如gold、silver、normal)的会员级别(使用或逻辑特性): http://localhost:8080/getRoleValue1OrValue2?value1=${级别值1}&value2=${级别值2}

查询会员级别值(如gold、silver、normal)或用户名称匹配给定值的用户(使用外键或逻辑特性) http://localhost:8080/getRoleValueOrPersonName?value=${级别值}&name=${用户名称}

向当前购物车加入/删除商品(amount为负数时为删除),并自动处理最终结果(用来展示双向相关算法下处理业务模型的优雅) http://localhost:8080/addCommodityToCart?cartId=${购物车的id}&commId=${商品的id}&amount=${购买数量}

按两个用户id查询购买的商品详情 http://localhost:8080/getCartCommodityByPersonId1OrId2?id1=${用户id1}&id2=${用户id2}

清空一个购物车(体现批量删除特性) http://localhost:8080/emptyCartById?id=${购物车cart的id}

新增购物车(体现批量新增特性) http://localhost:8080/createNewCart?commodityId=${第一件商品commodity的id}&amount=${第一件商品的购买数量}&commodityId=${第二件商品commodity的id}&amount=${第二件商品的购买数量}&......

将购物车内所有商品的数量变为1(体现批量修改特性) http://localhost:8080/trimCartById?id=${购物车cart的id}

以上方法的实现代码可见: https://github.com/limeng32/flying-demo-use-springboot/blob/master/src/main/java/indi/demo/flying/controller/MainController.java

我们采用双向相关的方式构建 pojo,关于双向相关的详细信息请见: https://my.oschina.net/u/2280950/blog/1580056

最后,flying 项目介绍请见 flying-doc.limeng32.com ,我们为开发最好的 mybatis 插件而努力。

1
https://gitee.com/limeng32/flying-demo-use-springboot.git
git@gitee.com:limeng32/flying-demo-use-springboot.git
limeng32
flying-demo-use-springboot
flying-demo-use-springboot
master

搜索帮助