赞
踩
在实际项目中,数据库条件查询经常需有一些复杂的查询条件的SQL语句,将这些SQL语句用mybatis-plus 组件的实现的时候经常会费一些时间,下面对几种常见的SQL语句实现做个介绍以方便以后遇到时少走弯路提高开发效率。
private Integer id;
private String name;
private Integer age;
private DateTime updateTime;
private Integer deleted;
private String status;
}
QueryWrapper<User> wrapper=new QueryWrapper<>();
// 多条件Update修改修改值
User user = new User();
user.setAge(99);
user.setName("BNTang6666");
// 修改条件
UpdateWrapper<User> userUpdateWrapper = new UpdateWrapper<>();
userUpdateWrapper
.like("name", "BNTang").or().between("age", 20, 30);
int result = userMapper.update(user, userUpdateWrapper);
System.out.println(result);
sql 为:
UPDATE USER SET NAME = 'BNTang6666,age=99,update_time = '2021-03-27 00:40:27'
WHERE deleted = 0 AND NAME LIKE '%BNTang%' OR age BETWEEN 20 AND 30
sql :id = 1 or name = ‘老王’
sql:
age=30 or (name = ‘李白’ and status <> ‘活着’)
sql: and (name = ‘李白’ and status <> ‘活着’)
sql:
NAME LIKE '%BNTang%' OR age BETWEEN 20 AND 30
.or(wrapper->wrapper.eq(“SEND_USER_ID”,“003”).eq(“RECEIVE_USER_ID”,“004”));
sql:
AND ((SEND USER ID = “001” AND RECEIVE USER ID = “002”) OR (SEND USER ID =“003” AND RECEIVE USER ID = “004”))
sql:
name = ? AND ((contract_mode IN (?,?) AND actual_completion_time BETWEEN ? AND ?) OR (contract_mode NOT IN (?,?) AND actual_completion_time BETWEEN ? AND ?))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。