Mybatis通用mapper

什么是通用Mapper

通用Mapper就是为了解决单表增删改查,基于Mybatis的插件。开发人员不需要编写SQL,不需要在DAO中增加方法,只要写好实体类,就能支持相应的增删改查方法。

 依赖:

<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>

<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-core</artifactId>
<version>1.1.5</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-base</artifactId>
<version>1.1.5</version>
</dependency>

dao层 不需要增删改查的方法,只要
@Repository
@Mapper
public interface SysAreaMapper extends BaseMapper<SysArea> {

}
实体类注意事项:
  1. 表名默认使用类名,驼峰转下划线(只对大写字母进行处理),如UserInfo默认对应的表名为user_info
  2. 表名可以使用@Table(name = "tableName")进行指定,对不符合第一条默认规则的可以通过这种方式指定表名.
  3. 字段默认和@Column一样,都会作为表字段,表字段默认为Java对象的Field名字驼峰转下划线形式.
  4. 可以使用@Column(name = "fieldName")指定不符合第3条规则的字段.
  5. 建议一定是有一个@Id注解作为主键的字段,可以有多个@Id注解的字段作为联合主键.
参考 https://www.cnblogs.com/cainame/p/11938591.html

补充:

自定义basemapper支持批量增删改操作

 配置类


public interface BaseMapper<T> extends Mapper<T>, MySqlMapper<T> {
}

使用
@Repository
@Mapper
public interface SysAreaMapper extends BaseMapper<SysArea> {
}
注意事项:
BaseMapper 和 SysAreaMapper 不可在同一个包下
 
原文地址:https://www.cnblogs.com/yxj808/p/14812842.html