mp实现复杂查询,使用queryWrapper构建条件,创建QueryWrapper构建条件,使用方法实现各种条件查询:
1、ge大于等于、gt大于、le小于等于、lt小于、isNull、isNotNull
//mp实现复杂查询
@Test
public void testSelectQuery(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
// 查询age >= 30记录
wrapper.ge("age", 30);
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
}
2、eq等于、ne不等于
//查询名字等于Jone的集合
wrapper.eq("name", "Jone");
//查询名字不等于Jone的集合
// wrapper.eq("name", "Jone");
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
3、allEq所有等于
4、between、notbetween
//查询年龄 20-30之间
wrapper.between("age", 20,30);
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
5、like、notLike、likeLeft、likeRight
wrapper.like("name", "J");
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
6、orderBy、orderByDesc降序、orderByAsc
//orderByDesc 根据id降序
wrapper.orderByDesc("id");
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
7、last直接拼接sql的最后
注意:只能调用一次,多次调用以最后一次为准,有SQL注入的风险,谨慎使用
// last 直接拼接SQL
wrapper.last("limit 1");
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
8、指定要查询的列
// 查询指定的列
wrapper.select("id", "name");
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);