MyBatis_plus实现简单查询与条件查询

1)通过id进行批量查询

测试demo:
 @Test
    public void test04() {
        List<User> userList = userMapper.selectBatchIds(Arrays.asList("1388048014324580354", "1392340666326999041"));
        userList.forEach(System.out::println);
    }
sql执行结果:
==>  Preparing: SELECT id,name,age,email,create_time,update_time,version FROM user WHERE id IN ( ? , ? ) 
==> Parameters: 1388048014324580354(String), 1392340666326999041(String)
<==    Columns: id, name, age, email, create_time, update_time, version
<==        Row: 1388048014324580354, 赵老师, 18, 1961871256@qq.com, 2021-04-30 16:30:09, 2021-04-30 16:34:15, 1
<==        Row: 1392340666326999041, 刘老师, 18, 1961871256@qq.com, 2021-05-12 12:47:37, 2021-05-12 12:47:37, 0
<==      Total: 2

2)通过map进行简单条件查询

测试demo:
@Test
    public void test05() {
        Map<String, Object> map = new HashMap<>();
        map.put("name", "赵老师");
        map.put("age", "18");
        List<User> user = userMapper.selectByMap(map);
        System.out.println(user);
    }
sql执行结果:
==>  Preparing: SELECT id,name,age,email,create_time,update_time,version FROM user WHERE name = ? AND age = ? 
==> Parameters: 赵老师(String), 18(String)
<==    Columns: id, name, age, email, create_time, update_time, version
<==        Row: 1388048014324580354, 赵老师, 18, 1961871256@qq.com, 2021-04-30 16:30:09, 2021-04-30 16:34:15, 1
<==      Total: 1

3)分页查询

增加配置类:
 /**
     * 分页插件
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
测试demo:
 @Test
    public void Test06() {
        //1 创建Page对象,向Page对象传递两个参数:当前页和每页记录数
        Page<User> page = new Page<>(2, 1);
        //2 调用mp的分页方法
        //分页所有数据封装到page对象中
        page = userMapper.selectPage(page, null);
        //3 从page对象获取分页数据
        long current = page.getCurrent(); //当前页
        long pages = page.getPages(); //总页数
        long size = page.getSize(); //每页显示记录数
        List<User> records = page.getRecords(); //数据集合
        long total = page.getTotal(); //总记录数
        boolean hasPrevious = page.hasPrevious(); //上一页
        boolean hasNext = page.hasNext();  //下一页
    }
}
sql执行结果:
==>  Preparing: SELECT id,name,age,email,create_time,update_time,version FROM user LIMIT ?,? 
==> Parameters: 1(Long), 1(Long)
<==    Columns: id, name, age, email, create_time, update_time, version
<==        Row: 1392340666326999041, 刘老师, 18, 1961871256@qq.com, 2021-05-12 12:47:37, 2021-05-12 12:47:37, 0
<==      Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@359b650b]
2
2
1
[User(id=1392340666326999041, name=刘老师, age=18, email=1961871256@qq.com, createTime=Wed May 12 12:47:37 GMT+08:00 2021, updateTime=Wed May 12 12:47:37 GMT+08:00 2021, version=0)]
2
true
false

4)条件查询

ge gt le lt: >= > <= <

        QueryWrapper<User> wrapper=new QueryWrapper<>();
        wrapper.ge("age", 20);
        List<User> list = userMapper.selectList(wrapper);
        list.forEach(System.out::println);
SELECT id,name,age,email,create_time,update_time,version,deleted FROM user WHERE deleted=0 AND (age >= ?)

betwween not between

        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.between("age", 19, 25);
        List<User> list = userMapper.selectList(wrapper);
SELECT id,name,age,email,create_time,update_time,version,deleted FROM user WHERE deleted=0 AND (age BETWEEN ? AND ?) 

like

        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.like("name","卜");
        List<User> list = userMapper.selectList(wrapper);
==>  Preparing: SELECT id,name,age,email,create_time,update_time,version,deleted FROM user WHERE deleted=0 AND (name LIKE ?) 
==> Parameters: %%(String)

eq ne: = !=

        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.eq("name","卜老师");
        List<User> list = userMapper.selectList(wrapper);
 SELECT id,name,age,email,create_time,update_time,version,deleted FROM user WHERE deleted=0 AND (name = ?) 

查询具体的列

  QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.select("name","age");
        List<User> list = userMapper.selectList(wrapper);
SELECT name,age FROM user WHERE deleted=0 

orderByDesc orderByAsc : 排序

        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.orderByDesc("age");
        List<User> list = userMapper.selectList(wrapper);
SELECT id,name,age,email,create_time,update_time,version,deleted FROM user WHERE deleted=0 ORDER BY age DESC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值