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接口,映射文件。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/128171.html