可先参考此文:
一,疑问:
1,到底用哪一个
2,什么关系,怎么结合使用
3,实体中@Entity @Table(name = "payment_account_code")这个两个注解跟mybatis没有任何关系,是必须的吗
@Entity @Table(name = "payment_account_code") public class AccountCodeEntity extends BaseBusinessEntity implements Serializable {
属于这个依赖
compile('org.eclipse.persistence:javax.persistence:2.1.1')
4,
引入jdbc什么用?
二,mybatis
本项目用的mybatis
1,依赖
compile('tk.mybatis:mapper-spring-boot-starter:1.1.1')
2,怎么用通用已封装的方法
业务: @Mapper public interface AccountModeMapper extends CommonMapper<AccountModeEntity> { 业务基类: public interface CommonMapper<T> extends MySqlMapper<T>, Mapper<T> {
接口多继承:MySqlMapper<T>, Mapper<T>
主要默认实现方法在:Mapper这个接口
*源码 public interface Mapper<T> extends BaseMapper<T>, ExampleMapper<T>, RowBoundsMapper<T>, Marker { }
*依赖
3,这个依赖与mybtis依赖关系
先看一下compile('tk.mybatis:mapper-spring-boot-starter:1.1.1')包含了哪些依赖
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> </dependency> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-autoconfigure</artifactId> </dependency> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> </dependency> </dependencies> 可以看到包含了
所以只需要引入compile('tk.mybatis:mapper-spring-boot-starter:1.1.1')依赖就可以实现mybtis基本功能,使用封装通用方法
4,分页
依赖:
compile('com.github.pagehelper:pagehelper:4.1.6')
代码实现:
@Override public BaseResponseModel<Object> querySupplierApproval(BaseRequestModel request) { BaseResponseModel<Object> baseResponseModel = new BaseResponseModel<>(); SupplierVo supplierVo = JSON.parseObject(request.getReqData().toString(), SupplierVo.class); page(supplierVo); List<SupplierVo> supplierVoList = supplierMapper.selectSupplier(supplierVo); JSONObject jsonObject = new JSONObject(); if (supplierVoList.isEmpty()) { jsonObject.put("total", 0); jsonObject.put("result", Arrays.asList()); baseResponseModel.setRepData(jsonObject); return baseResponseModel; } PageInfo<SupplierVo> pageInfo = new PageInfo<>(supplierVoList); jsonObject.put("total", pageInfo.getTotal()); jsonObject.put("result", pageInfo.getList()); baseResponseModel.setRepData(jsonObject); return baseResponseModel; }
public void page(SupplierVo supplierVo) { Integer pageNum = supplierVo.getPageNum(); Integer pageRow = supplierVo.getPageRows(); if (pageNum == null) { pageNum = 1; } if (pageRow == null) { pageRow = 10; } PageHelper.startPage(pageNum, pageRow); }