java mapper层_Java 通用Mapper的设计

springBoot推荐使用JPA 它对sql 进行了高度映射

如果你还是喜欢 自由的mybatis

那我们今天来试试tk.mybatis.mapper 通用Mapper

1. 引入依赖

f314ba18d2c66478a71acd871fa031bb.png引入必要依赖

2.编写application.yml

我们使用阿里的连接池 驱动使用mysql 8.0 以上版本 常规操作

4ebd01b6f5c3b50a831fcbc852c76395.png数据库配置

3. 编写自己的工具类

8b83d711520fcfbb583a14c6debca9bc.png通用Mapper

我们看一下它继承的类 点击Ctrl 单击

a72ae13328facbc86f6ae289c10c98b8.pngBaseMapper继承

1. BaseMapper 继承了查询接口,新增接口,更新接口,删除接口

查询接口

1251c2d8e307ffddea5897ce6dac981d.pngBaseSelectMapper继承

新增接口

a7ce21fd4a454d192db995985e671af5.pngBaseInsertMapperji'cheng

更新接口

3ac61db07d7a6884af3632b07eb153c1.pngBaseUpdateMapper继承

删除接口

ae0eb0c8bfb12f296e9ec3659a45bbe7.pngBaseDeleteMapper继承

我们最简单的增删改查,就不需要写sql了

2. 除了BaseMapper 我们还使用了 IdsMapper InsertListMapper

IdsMapper 我们可以对依据id进行操作 依据id 批量查询表数据 批量删除表数据

InsertListMapper 没有继承 用于批量新增数据

这里我们只贴一下继承

68a0cd3cfcda30d3d82cfceab61aa520.pngIdsMapper继承

我们只需要继承一下就可以 这些代码就不需要再次手动编写了

4. 具体实例

目录结构

8e64565d715933603b2772ab9d89d3c4.png项目结构随意

0fb2e00c3d4a15e616e8a34c9aaa4436.png这里是用户实体

注意:一定要声明id 一定要声明id 因为框架不认识哪个字段是主键

2. Mapper层

2b71d3dc23dbfb960404406cf739f98a.png继承工具类

注意:我们继承的Mapper是我们自己的工具类 不要引错了包

3. service层

f4402c8cf6a4b7978cbc8d78555ebec1.pngservice层

4. serviceImpl层

7722b3ac396f3c99961a4f5bf7d7ad1d.png查找和新增

8fc69a26c090d5a29689f93eb385ea1a.png修改与删除

web层 我就不多写了 大家也看腻了

5. 启动类加入注解

9b536c304cf4e8f06193b6c3e245000b.png启动类

注意:引入包

6. 小结

很多人喜欢在实现类层再加上 Service AbstractService

因为在实际操作中 我们在实现类层中 要加入缓存 队列 会显得很拘束

对于复杂的查询,我们依旧可以使用xml配置复杂sql 两不耽误

结束

27a49f4c239d1a74bf80c7fe6725e0ce.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值