在线官方文档:https://gitee.com/free/Mapper/wikis/Home
介绍
通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增 删改查操作以及Example相关的单表操作。为什么要用通用mapper?我们这里列举一下 原生Mybatis的痛点:
1、mapper.xml文件里有大量的sql,当数据库表字段变动,配置文件就要修改
2、需要自己实现sql分页,select * from table where … limit 1,3 自己手写分页,除了传参page、pageSize,还需要返回条目总数count。
3、数据库可移植性差:如果项目更换数据库,比如oracle⇒mysql,mapper.xml中的 sql要重新写,因为Oracle的PLSQL 和mysql 支持的函数是不同的。
4、生成的代码量过大。
5、批量操作,批量插入,批量更新,需要自写。 而这些,通过通用mapper就可以很轻松的解决了。
通用mapper与Spring集成
官方的文档中介绍了通用mapper的三种使用方式 ,纯java使用方式、与Spring集成方 式、与SpringBoot集成方式。我们这里给大家介绍的是与Spring集成方式。
引入依赖
正常情况下,Spring 和 MyBatis 的集成环境中,应该已经存在下面的依赖:
集成通用 Mapper 在上面的基础上添加下面的依赖:
添加:
与spring集成
和通用 Mapper 以前版本一样,可以直接使用 tk.mybatis 提供 的 tk.mybatis.spring.mapper.MapperScannerConfigurer 进行配置,这个配置和 MyBatis 官方提供的 org.mybatis.spring.mapper.MapperScannerConfigurer 区别只是 第一层的包名,tk 和 org。所以使用这种方式时,如果你项目已经使用 org. 进行了 配置,只需要改成 tk. 即可。
我们项目中采用的是这种xml的配置方式,通用mapper还提供了注解方式的配置,详见 文档。
3. 2. 2 实体类映射
实体类映射类似下列形式
@Table是指定实体类对应的数据库表 @Id指的是主键映射。经过上面简单的配置后,相 当于就有了 MyBatis 中的关系映射了
3. 2. 3 创建Mapper接口
这里继承了 tk.mybatis.mapper.common.Mapper 接口,在接口上指定了泛型类 型 Brand。当你继承了 Mapper 接口后,此时就已经有了针对 Brand 的大量方法,方 法如下:
这些方法中和 MBG 生成的大部分方法都一致,还有一部分 MBG 之外的常用方法。
基础接口select
基础接口insert
基础接口Update
基础接口delete