1.购物车业务实现
1.1 jt-cart项目准备
1.1.1购物车表设计
1.1.2 创建cart pojo对象
package com.jt.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
@TableName("tb_cart")
@Data
@Accessors(chain=true)
public class Cart extends BasePojo{
@TableId(type=IdType.AUTO) //主键自增
private Long id; //主键信息
private Long userId; //用户Id
private Long itemId; //商品id信息
private String itemTitle; //商品标题
private String itemImage; //商品图片信息
private Long itemPrice; //商品价格
private Integer num; //购买数量
}
1.2 创建购物车提供者
1.2.1 创建jt-cart 项目
1.2.2 选择jar包文件
1.2.3 添加继承/依赖/插件
<parent>
<groupId>com.jt.huanan</groupId>
<artifactId>jt</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<!--2.添加依赖 jt-common -->
<dependencies>
<dependency>
<groupId>com.jt.huanan</groupId>
<artifactId>jt-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<!--3.添加插件 -->
<!--build是负责项目打包部署 一般将项目开发完成之后,需要进行服务器部署(Linux) -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
1.2.4 编辑Cart业务接口
@Service
public class DubboCartServiceImpl implements DubboCartService {
@Autowired
private CartMapper cartMapper;
}
1.2.5 编辑YML配置文件
server:
port: 8094
servlet:
context-path: /
spring:
datasource:
#引入druid数据源
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
username: root
password: root
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
#mybatis-plush配置
mybatis-plus:
type-aliases-package: com.jt.pojo
mapper-locations: classpath:/mybatis/mappers/*.xml
configuration:
map-underscore-to-camel-case: true
logging:
level:
com.jt.mapper: debug
#关于Dubbo配置
dubbo:
scan:
basePackages: com.jt #指定dubbo的包路径
application: #应用名称
name: provider-cart #一个接口对应一个服务名称
registry:
address: zookeeper://192.168.126.129:2181 #?backup=192.168.126.129:2182,192.168.126.129:2183
protocol: #指定协议
name: dubbo #使用dubbo协议(tcp-ip) web-controller直接调用sso-Service
port: 20882 #每一个服务都有自己特定的端口 不能重复.
1.3 购物车商品列表展现
1.3.1 业务分析
1.当用户点击购车车按钮时,应该跳转到购物车管理页面 cart.jsp
2.根据用户id查询 当前用户的购物车信息.
3.通过查询之后得到结果,应该在页面中进行展现. 页面中通过el表达式 获取购物车列表记录,之后展现 ${cartList}
1.3.2 页面分析
1.url网址: http://www.jt.com/cart/show.html
2.参数: 无
3.返回值: cart.jsp页面
1.3.3 编辑CartController
package com.jt.controller;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.alibaba.dubbo.config.annotation.Reference;
import com.jt.pojo.Cart;
import com.jt.service.DubboCartService;
@Controller
@RequestMapping("/cart")
public class CartController {
@Reference</