引入依赖:
导入依赖
<!--tkMapper整合mybatis+SpringBoot-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<!--tkMapper整合mybatis-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.1.2</version>
</dependency>
配置:
一、设置TkMapper和GukeMapper放在一个包中
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
public interface TkMapper<T> extends Mapper<T>, MySqlMapper<T> {
}
GukeMapper继承TkMapper使用
public interface GukeMapper extends TkMapper<Guke>{
}
数据库对应实体类:
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
@Table(name = "表名")
public class Guke{
//主键自动驼峰映射
@Id //主键ID 表中字段 test_id
// @GeneratedValue(strategy = GenerationType.AUTO)//自动根据底层数据库切换主键生成策略
@GeneratedValue(strategy = GenerationType.IDENTITY)//使用mysql的主键生成策略
// @GeneratedValue(strategy = GenerationType.SEQUENCE)//使用Oracle的主键生成策略
private Integer id;
private String testId;
@Id //主键ID 表中字段 test_no
private String testNo;
@Column(name = "name_no")
private String nameNo;
get/set
}
四、在启动类添加扫描TestMapper
@tk.mybatis.spring.annotation.MapperScan("com.swhysc.mapper.*")
常用方法和注意事项:
public interface BaseMapper<T> extends tk.mybatis.mapper.common.BaseMapper<T>, IdsMapper<T>, MySqlMapper<T>, OracleMapper<T> {
}
注:为了演示所以同时引用了MySqlMapper和OracleMapper 正常情况是只能引用一种因为他们有一个相同的方法insertList(List list),在使用时同时引入会报错的
泛型(实体类)的类型必须符合要求
实体类按照如下规则和数据库表进行转换,注解全部是JPA中的注解:
- 表名默认使用类名,驼峰转下划线(只对大写字母进行处理),如UserInfo默认对应的表名为user_info。
- 表名可以使用@Table(name = “tableName”)进行指定,对不符合第一条默认规则的可以通过这种方式指定表名。
- 字段默认和@Column一样,都会作为表字段,表字段默认为Java对象的Field名字驼峰转下划线形式。
- 可以使用@Column(name = “fieldName”)指定不符合第3条规则的字段名。
- 使用@Transient注解可以忽略字段,添加该注解的字段不会作为表字段使用。
- 建议一定是有一个@Id注解作为主键的字段,可以有多个@Id注解的字段作为联合主键。
- //主键自动驼峰映射
@Id //主键ID 表中字段 test_id
// @GeneratedValue(strategy = GenerationType.AUTO)//自动根据底层数据库切换主键生成策略
@GeneratedValue(strategy = GenerationType.IDENTITY)//使用mysql的主键生成策略
// @GeneratedValue(strategy = GenerationType.SEQUENCE)//使用Oracle的主键生成策略
private Integer id;
所有的mapper继承此类将具有以下通用方法
查询方法
BaseSelectMapper下的通用方法
方法名称 | 作用 |
---|---|
List selectAll(); | 查询全部数据 |
oolean existsWithPrimaryKey(Object key); | 通过主键查询此主键是否存在 |
T selectByPrimaryKey(Object key); | 通过主键查询 |
– | – |
T selectOne(T record); | 通过实体查询单个数据 |
– | – |
List select(T record); | 通过实体查询多个数据 |
– | – |
int selectCount(T record); | 通过实体查询实体数量 |
SelectByIdsMapper下的通用方法
方法名称 | 作用 |
---|---|
List selectByIds(String var1); | 通过多个主键查询数据 |