tk.mybatis 工具包的使用
1. 导入依赖
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>4.2.1</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
2. 创建工具接口 BaseMapper
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
public interface BaseMapper<T> extends Mapper<T>, MySqlMapper<T> {
}
3. 启动类扫描Mapper
必须使用 @MapperScan() 注解扫描 mapper 层
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tk.mybatis.spring.annotation.MapperScan;
@SpringBootApplication
@MapperScan("com.xxx.mapper")
public class ExamApplication {
public static void main(String[] args) {
SpringApplication.run(ExamApplication.class, args);
}
}
4. Mapper层
public interface Mapper extends BaseMapper<实体类> {
}
5. 实体类和数据库表名以及实体类属性和数据库表字段的映射方式
studentManagerEntity => student_manager_entity
studentName => student_name
6. 实体类映射数据库
1.如果数据库表名与实体类名不一致,使用 @Table 注解来映射表名
2.如果添加需要返回主键,使用 @Id 和 @GeneratedValue(strategy = GenerationType.IDENTITY) 注解来映射主键
3.如果数据库表中字段名与实体类属性名不一致,使用 @Column 注解来映射
4.如果实体类中属性在数据库表中没有该字段,不需要映射该属性的时候,使用 @Transient 注解来修饰,用来忽略该属性
例:
@Table(name = "数据库表名")
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name = "stu_name")
private String studentName;
@Column(name = "stu_age")
private int age;
@Column(name = "stu_sex")
private String sex;
private @Transient remarks;
}
7. tk.mybatis 中常用的方法
查询方法:
1. BaseSelectMapper 下的通用方法
方法名称 | 作用 |
---|
List selectAll(); | 查询全部数据 |
T selectByPrimaryKey(Object key); | 通过主键查询 |
T selectOne(T record); | 通过实体查询单个数据 |
List select(T record); | 通过实体查询多个数据 |
int selectCount(T record); | 通过实体查询实体数量 |
boolean existsWithPrimaryKey(Object key); | 通过主键查询此主键是否存在 |
2. SelectByldsMapper 下的通用方法
方法名称 | 作用 |
---|
List selectBylds(String var 1); | 通过多个主键查询数据 |
添加方法:
1. BaselnsertMapper 下的通用方法
方法名称 | 作用 |
---|
int insert(T record); | 全部添加 |
int insertSelective(T record); | 选择性(不为null)的添加 |
2. MySqlMapper 下的通用方法
方法名称 | 作用 |
---|
int insertList(List list); | 批量插入 |
int insertUseGeneratedKeys(T record); | 如果主键为自增可使用此方法获取添加成功的主键 |
3. OracleMapper 下的通用方法
方法名称 | 作用 |
---|
int insertList(List list); | 批量插入 |
修改方法:
1. BaseUpdateMapper下的通用方法
方法名称 | 作用 |
---|
int updateByPrimaryKey(T record); | 按照实体进行修改 |
int updateByPrimaryKeySelective(T record); | 按照实体进行有选择的修改 |
删除方法:
1. BaseDeleteMapper下的通用方法
方法名称 | 作用 |
---|
int delete(T record); | 按照实体进行删除 |
int deleteByPrimaryKey(Object o); | 按照主键进行删除 |
2. ldsMapper下的通用方法
方法名称 | 作用 |
---|
int deleteBylds(String var 1); | 按照主键批量删除 |
所有评论(0)