在这次项目中使用了 Mybatis-Plus作为DAO层的框架。这篇文章就写一下Mybatis-Plus在使用过程中的知识积累(在下文中简称为MP)
Mybatis-Plus官网:https://baomidou.com/
1. Mapper层的创建
如果想使用MP的CRUD接口,我们必须要创建Mapper层,原理如下图所示:
我们继承 BaseMapper后,就可以使用MP为我们提供的各种 CRUD方法。具体如何调用可以直接参考官方网站给出的示例,下面展示UsersMapper接口,这个接口用于人员管理的各种CRUD。
@Mapper public interface UsersMapper extends BaseMapper<Users> { }
可以看到,我们并没有实现BaseMapper中的任何方法,这是因为BaseMapper里的方法都是已经实现好的,只要添加泛型就可以对某个Entity进行操作。@Mapper注解表明这是一个Mapper接口,可以让主程序进行MapperScan的时候,把该接口视为一个Mapper拦截下来。
当然我们也可以不继承BaseMapper,自己写SQL语句,比如下面这个例子:
@Mapper public interface Inter { @select("select * from sysuser where userid=#{id} and uanme=#{userName}") int queryUserByid(@param("id") int id,@param("userName") String uname); //param注解里写上sql语句中的占位符,表面把对应参数传给sql语句中
@Select("select * from sysuser where userid=#{userid} or username=#{username}")
List<Sysuser> selectUser(Sysuser u); //通过实体类里的属性,注入到sql语句中的 userid和username }