一篇文章带你掌握MyBatis简化框架——MyBatisPlus( 七 )

  1. lambda格式按条件查询(继承类版)
package com.itheima;import com.baomidou.mybatisplus.core.conditions.Wrapper;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.itheima.dao.UserDao;import com.itheima.domain.User;import com.itheima.domain.query.UserQuery;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import java.util.List;import java.util.Map;@SpringBootTestclass Mybatisplus02DqlApplicationTests {    @Autowired    private UserDao userDao;    @Test    void testGetAll() {        //方式三:lambda格式按条件查询        // 这里直接继承LambdaQueryWrapper,后续操作可以直接采用Lambda表达式,不用携带方法lambda        LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();        lqw.lt(User::getAge, 10);        List<User> userList = userDao.selectList(lqw);        System.out.println(userList);    }}除了上面三种基本条件查询外,我们可以发现条件查询是可以叠加使用的,主要分为两种叠加方式:
  1. 正常叠加
package com.itheima;import com.baomidou.mybatisplus.core.conditions.Wrapper;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.itheima.dao.UserDao;import com.itheima.domain.User;import com.itheima.domain.query.UserQuery;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import java.util.List;import java.util.Map;@SpringBootTestclass Mybatisplus02DqlApplicationTests {    @Autowired    private UserDao userDao;    @Test    void testGetAll() {        // 10到30岁之间        LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();        // 依次分开书写        lqw.lt(User::getAge, 30);        lqw.gt(User::getAge, 10);        List<User> userList = userDao.selectList(lqw);        System.out.println(userList);    }}
  1. 链式叠加
package com.itheima;import com.baomidou.mybatisplus.core.conditions.Wrapper;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.itheima.dao.UserDao;import com.itheima.domain.User;import com.itheima.domain.query.UserQuery;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import java.util.List;import java.util.Map;@SpringBootTestclass Mybatisplus02DqlApplicationTests {    @Autowired    private UserDao userDao;    @Test    void testGetAll() {        // 10到30岁之间        LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();        // 链式叠加书写        lqw.lt(User::getAge, 30).gt(User::getAge, 10);        List<User> userList = userDao.selectList(lqw);        System.out.println(userList);    }}

经验总结扩展阅读