作者:大三的土狗
专栏:MyBatis-Plus
前言
MyBatis非常方便,代码简洁,开发速度极高,通过继承BaseMapper就可以获取到各种各样的单表操作,无需再写其他的接口方法,非常的简便快捷。
我们可以看到BaseMapper 为我们提供了很多方法供我们CRUD使用。
Mapper CRUD 接口
说明:
- 通用 CRUD 封装[BaseMapper 接口,为 Mybatis-Plus 启动时自动解析实体表关系映射转换为 Mybatis 内部对象注入容器
- 泛型 T 为任意实体对象
- 参数 Serializable为任意类型主键 Mybatis-Plus不推荐使用复合主键约定每一张表都有自己的唯一 id 主键
- 对象 Wrapper为 条件构造器
1、查询
1、查询所有,不加条件去查询
//1、查询所有,不加条件去查询
userMapper.selectList(null).forEach(System.out::println); //forEach遍历打印
2、查询所有,加条件去查询
//2、查询所有,加条件去查询
//2.1、new QueryWrapper
QueryWrapper queryWrapper1 = new QueryWrapper();
//2.2、设置条件
queryWrapper1.eq("age", 20);
userMapper.selectList(queryWrapper1).forEach(System.out::println);
-
lt #小于
- gt #大于
- ne #不等于
- eq #等于
- le #小于等于
- ge #大于等于
- 等等
3、多条件去查询
new一个hashmap,把条件放到map中,再把map放到条件中。
QueryWrapper queryWrapper2 = new QueryWrapper();
//3.1、设置多条件
Map<String,Object> map = new HashMap<>();
map.put("age",20);
map.put("name","张三");
//3.2、map放进queryWrapper
queryWrapper2.allEq(map);
4、分页查询
//4、分页查询
//1、配置类paginationInterceptor
//2、设置分页参数
Page<User> page = new Page<>(1,3); //当前页,每页显示条数2
Page<User> userPage = userMapper.selectPage(page, null);//分页参数,查询条件
System.out.println(userPage.getCurrent()); //当前页
System.out.println(userPage.getSize()); //每页显示条数
userPage.getRecords().forEach(System.out::println); //查询结果
5、等等
@Test
void select() {
//1、查询所有,不加条件去查询
userMapper.selectList(null).forEach(System.out::println); //forEach遍历打印
//2、查询所有,加条件去查询
//2.1、new QueryWrapper
QueryWrapper queryWrapper1 = new QueryWrapper();
//2.2、设置条件
queryWrapper1.eq("age", 20);
/**
* lt #小于
* gt #大于
* ne #不等于
* eq #等于
* le #小于等于
* ge #大于等于
* between #between
* like like 模糊查询 #likeLeft 左模糊 likeRight 右模糊
* isNull
* isNotNull
* in #inSql in sql语句
* notIn
* orderBy #排序 ASC DESC 升序降序
* orderByDesc
*/
userMapper.selectList(queryWrapper1).forEach(System.out::println);
//3、多条件去查询
QueryWrapper queryWrapper2 = new QueryWrapper();
//3.1、设置多条件
Map