java mapper层_Java 通用Mapper的设计

本文介绍了如何在SpringBoot项目中使用tk.mybatis.mapper来实现通用Mapper,避免手动编写SQL。首先引入相关依赖,然后配置数据库连接,接着创建工具类,通过继承BaseMapper等接口实现基本的CRUD操作。此外,还展示了IdsMapper和InsertListMapper的用法,以及在实体类、Mapper层、Service层和服务实现层的实现细节。最后,提醒在启动类中加入注解,并指出在复杂查询情况下仍可使用XML配置SQL。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值