通用 Mapper是什么
在我们使用MyBatis中,我们需要写大量的SQL语句,包括最基本的一些增删改查,这些简单的SQL语句占用了大量的时间,却不得不写,这时我通用Mapper就出现了。
通用Mapper是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及Example 相关的单表操作。
Github地址
通用Mapper支持的集成
快速入门
导入依赖
创建实体类
通用 Mapper 中,默认情况下是将实体类字段按照驼峰转下划线形式的表名列名进行转换
创建Mapper
说明
标识主键
@Id
表明该字段是主键
如果实体类中没有一个标记 @Id 的字段,
当你使用带有 ByPrimaryKey 的方法时,
所有的字段会作为联合主键来使用,也就会出现类似
where id = ? and username = ? and password = ? 的情况。
主键策略
@KeySql(useGeneratedKeys = true)
表明该字段支持主键的取回(只能在主键上配置)
当执行完插入语句后可以马上将主键取回
注意:当使用主键策略时需保证数据库主键是自增列
当我们在Mapper上继承通用Mapper后继承的方法
通用Mapper也提供了其他拓展的接口
通用Mapper的其他注解
.@Transient
一般情况下,实体中的字段和数据库表中的字段是一一对应的,但是也有很多情况我们会在实体中增加一些额外的属性,这种情况下,就需要使用 @Transient 注解来告诉通用 Mapper 这不是表中的字段
@Table
声明此对象映射到数据库的数据表,通过它可以为实体指定表
当使用了该注解后不再根据实体类名进行转换,而是根据注解上的进行转换,用于解决数据库表和实体类表之间命名的冲突
@Column
配置映射的列名,当数据库列名和实体类名字不同时
最后
通用Mapper封装了一些简单的SQL语句
遇到没有的方法时,你可以正常按照 MyBatis 的用法手打
和正常用法没有任何区别。
关于通用Mapper
差不多就是这些了,有空在更!!!
来源:CSDN
作者:juhaozero
链接:https://blog.csdn.net/Sherlockin/article/details/103751500