MyBatisPlus中条件构造器中or和orNew的区别

场景

项目搭建专栏:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/37194

实现

编写单元测试看区别

/***
  *条件构造器 查询操作SelectList
  */
 @Test
 public void testEntitymapperSelectList() {
  //查询数据库,性别为男(1),并且名字中带有霸的记录或者email中带有123的记录。
  List<Employee> employeeList=employeeMapper.selectList(new EntityWrapper<Employee>()
    .eq("gender",1)
    .like("name", "霸")
    //.or()//SELECT id AS id,`name`,email,gender,age FROM employee WHERE (gender = ? AND name LIKE ? OR email LIKE ?)
    .orNew()//SELECT id AS id,`name`,email,gender,age FROM employee WHERE (gender = ? AND name LIKE ?) OR (email LIKE ?)
    .like("email", "123")
    );
  System.out.println("*******************"+employeeList);
  for (Employee employee : employeeList) {
   System.out.println(employee.getName());
  }
 }

使用or时的sql语句为:

SELECT id AS id,`name`,email,gender,age FROM employee WHERE (gender = ? AND name LIKE ? OR email LIKE ?)

使用orNew的sql语句为:

SELECT id AS id,`name`,email,gender,age FROM employee WHERE (gender = ? AND name LIKE ?) OR (email LIKE ?)

 


版权声明:本文为BADAO_LIUMANG_QIZHI原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。