千峰商城-springboot项目搭建-11-tkMapper简介
1.在项目开发过程中DAO的实现问题:
实体类与数据表存在对应关系,并且是有规律的——只要知道了数据表的结构,就能生成实体类。
所有实体的DAO接口中定义的方法也是有规律的。不同点就是实体类型不同。
UserDAO:
public interface UserDAO extends GeneralDAO<User>{ public int insert(User user); }
GoodsDAO:
public interface UserDAO extends GeneralDAO<Goods>{
public int insert(Goods goods);
}
GeneralDAO:
public interface GeneralDAO<User>{
//通用方法,简化开发
public int insert(User user);
public User queryOneByPrimarykey(int i);
}
对于GeneralDAO接口定义的数据库操作方法,因为使用了泛型,所以无需映射文件。
对于UserDAO和GoodsDAO,需要映射文件。所有DAO的相同操作的映射文件也是有规律可循的。
UserMapper.xml:
<insert id="insert"> insert into users(user_id,username) values(#{userId},#{username}) </insert>
GoodsMapper.xml:
<insert id="insert"> insert into goods(goods_id,goods_name) values(#{goodsId},#{goodsName}) </insert>
2.tkMapper简介:
基于Mybatis提供了很多第三方插件,这些插件通常可以完成:通用数据库操作方法的封装(GeneralDAO),数据库逆向工程工作(根据数据表生成实体类,生成映射文件)
(1)MyBatis-plus
(2)tkMapper
tkMapper就是一个MyBatis插件。在MyBatis的基础上提供了很多工具,让开发变简单,提高开发效率。
提供了针对单表通用的数据库操作方法。
提供了逆向工程功能,根据数据表生成实体类,dao接口,映射文件。