tkMapper
1.1 在项目开发过程中Dao层的实现的规律
所有的实体类与数据表存在对应关系,并且是有规律的(只要知道了数据表的的结构,就能够生成实体类)
所有实体的Dao接口中定义的方法也是有规律的,不同点就是实体类型不同
UserDao
1
2public interface UserDao extends GeneralDao<User>{
}GoodsDao
1
2public interface GoodsDao extends GeneralDao<Goods>{
}GeneralDao
1
2
3
4
5
6
7public interface GeneralDao<T>{
//通用方法
public int insert(T t);
public T queryOnePrimaryKey(int i);
}
对于
GeneralDao
接口定义的数据库操作方法因为使用了泛型,无需映射文件
;对于UserDao
和GoodsDao
需要映射文件,所有Dao的相同操作的映射文件也是有规律可循的UserMapper
1
2
3<insert id="insert">
insert into users(user_Id,user_name)values(#{userId},#{userName})
</insert>1
2
3
4
5
6
7
8
9
10
public class User{
private int userId;
private String userName;
}1
2
3
4
5
6
7String sql = "<insert id= 'insert'>insert into";
sql2 = "(user_id,user_name
sql3 = "values(#{userId},#{userName})"
sql = sql + sql2 + sql3
sql += "</insert>"GoodsMapper
1
2
3<insert id="insert">
insert into goods(goods_id,goods_name)values(#{goodsId},#{goodsName})
</insert>1
2
3
4
5
6
7
8
9
10
public class Goods{
private int goodsId;
private String goodsName;
}
1.2 tkMapper简介
基于Mybatis提供了很多第三方插件,这些插件通常可以完成通过数据操作方法的封装(GeneralDao)、数据库逆向工程的工作(根据数据表生成实体类、映射文件)。
- Mybatis-Plus
- tkMapper
tkMapper就是一个Mybatis插件,是在Mybatis基础上提供了很多工具,让开发变得简单,提高开发效率。
- 提供了针对单表的通用的数据库操作方法
- 逆向工程(根据数据库生成实体类、Dao接口、映射文件)
1.3 tkMapper整合
1.3.1 基于Spring Boot完成Mybatis的整合
1.3.2 整合tkMapper
1.3.3 添加tkMapper的依赖
1 | <!-- tkMapper --> |
1.3.4 修改启动类的@MapperSace
注解的包为import tk.mybatis.spring.annotation.MapperScan;
1 | package com.yuhao.springboot.demo; |
1.4 tkMapper的使用
1.4.1 创建数据表
1.4.2 创建实体类
1 |
|
1.4.3 创建Dao接口
tkMapper已经完成了对单表的通用操作的封装;封装在
Mapper
、MysqlMapper
中;因此如果我们想要完成对单表的操作,只需自定义Dao接口继承Mapper
、MysqlMapper
即可。
1 | public interface UserDao extends Mapper<User>, MySqlMapper { |
1.4.4 测试
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 眷恋の你给的温柔的博客!