mybatis的增强工具 —— Mybatis Plus
官方文档:https://baomidou.com/
MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window) 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
我们在 的基础上进行改造。
Mybatis Plus快速入门
① 添加mybatis plus 依赖
com.baomidou
mybatis-plus
3.3.2
注意版本的对应匹配。
1)配置 MapperScan
2)调整 SqlSessionFactory 为 MyBatis-Plus 的 SqlSessionFactory
通常来说,一般的简单工程,通过以上配置即可正常使用 MyBatis-Plus。
② 使用注解配置实体类
/**
* @TableName 表名注解,标识实体类对应的表
*/
@TableName(value = "user")
public class UserInfo {
/*主键注解, 数据库自增*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/*字段注解(非主键)*/
@TableField(value = "username", exist = true)
private String username;
@TableField(value = "sex")
private String sex;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", sex=" + sex
+ "]";
}
}
更多的注解参考:https://baomidou.com/pages/223848/#tablename
③ 自定义mapper xml的位置
在配置sqlSessionFactory bean时,指定xml的位置:
④ 测试代码
@RunWith(SpringJUnit4ClassRunner.class)//表示整合JUnit4进行测试
@ContextConfiguration(locations={"classpath:applicationContext.xml"})//加载spring配置文件
public class BaseJunit4Test {
@Autowired
private UserInfoMapper userInfoMapper;
@Test
public void testSelectUserById() throws Exception {
UserInfo user = userInfoMapper.selectUserById(1);
System.out.println(user);
}
}
Mybatis Plus使用分页插件
测试代码:
@Test
public void testSelectUserPage() throws Exception {
Page page = new Page<>();
page.setCurrent(1);
page.setSize(2);
IPage firstPageInfo = userInfoMapper.selectPage(page, null);
System.out.println("count: " + firstPageInfo.getTotal());
System.out.println("first page user list: " + firstPageInfo.getRecords());
Page page1 = new Page<>();
page1.setCurrent(2);
page1.setSize(2);
IPage secondPageInfo = userInfoMapper.selectPage(page1, null);
System.out.println("count: " + secondPageInfo.getTotal());
System.out.println("second page user list: " + secondPageInfo.getRecords());
}