QueryWrapper
public void select1(){
QueryWrapper qw = new QueryWrapper();
qw.select("id","name","nickname");
List users = userMapper.selectList(qw);
users.forEach(System.out::println);
}
public void select2(){
QueryWrapper qw = new QueryWrapper();
qw.select(User.class,i -> i.getColumn().equals("name"));//查询name
// qw.select(User.class,i -> !i.getColumn().equals("nickname")); //排除nickname
List users = userMapper.selectList(qw);
users.forEach(System.out::println);
}
UpdateWrapper
public void set(){
UpdateWrapper uw = new UpdateWrapper();
uw.set("gender",false)
.in("id",1,3,5);
int res = userMapper.update(null, uw);
System.out.println(res);
}
public void setSQL(){
UpdateWrapper uw = Wrappers.update();
uw.setSql("password=4321"); // UPDATE tb_user SET password=4321;
int res = userMapper.update(null, uw);
System.out.println(res);
}
QueryWrapper # lambda
public void between(){
QueryWrapper qw = Wrappers.query();
qw.lambda().between(User::getId,10,20);
List users = userMapper.selectList(qw);
users.forEach(System.out::println);
}
public void delete(){
QueryWrapper qw = Wrappers.query();
qw.lambda().eq(User::getId,30);
int res = userMapper.delete(qw);
}
public void update(){
UpdateWrapper uw = Wrappers.update();
uw.lambda().eq(User::getId,30).setSql("name='张三四'");
int res = userMapper.update(null, uw);
System.out.println(res);
}
public void count(){
QueryWrapper qw = Wrappers.query();
qw.lambda().like(User::getNickname,"an");
Integer res = userMapper.selectCount(qw);
System.out.println(res);
}
LambdaQueryWrapper
public void eqDemo() {
//使用 QueryWrapper 的成员方法方法 lambda 构建 LambdaQueryWrapper
LambdaQueryWrapper lqw = new QueryWrapper().lambda();
lqw.eq(User::getId, 2);
User user = userMapper.selectOne(lqw);
System.out.println(user);
}
public void inDemo() {
//直接 new 出 LambdaQueryWrapper
LambdaQueryWrapper lqw = new LambdaQueryWrapper();
lqw.in(User::getId, 1, 2, 3);
List users = userMapper.selectList(lqw);
users.forEach(System.out::println);
}
public void likeDemo() {
//使用 Wrappers 的静态方法 lambdaQuery 构建 LambdaQueryWrapper(推荐)
LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
lqw.like(User::getUsername, "an");
List users = userMapper.selectList(lqw);
users.forEach(System.out::println);
}
public void oneDemo() {
//使用 链式查询 的方法构建 LambdaQueryWrapper
User user = new LambdaQueryChainWrapper(userMapper)
.eq(User::getId, 10)
.one();
System.out.println(user);
}
public void likeRightDemo() {
//使用 链式查询 的方法构建 LambdaQueryWrapper
List users = new LambdaQueryChainWrapper(userMapper)
//相当于原生 sql 的 like 右通配符模糊查询,比如:like 'an%'
.likeRight(User::getUsername, "an")
.list();
users.forEach(System.out::println);
}
public void likeLeftDemo() {
LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
//相当于原生 sql 的 like 右通配符模糊查询,比如:like '%an'
lqw.likeLeft(User::getUsername, "an");
List users = userMapper.selectList(lqw);
users.forEach(System.out::println);
}
public void partColumnsDemo() {
LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
//查询指定的字段
lqw.select(User::getId, User::getName, User::getNickname)
.eq(User::getUsername, "an");
List users = userMapper.selectList(lqw);
users.forEach(System.out::println);
}
public void ifDemo() {
User condition = User.builder().username("zhangsan").build();
LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
lqw.eq(condition.getGender() != null, User::getGender, condition.getGender())
.eq(condition.getUsername() != null, User::getUsername, condition.getUsername());
List users = userMapper.selectList(lqw);
users.forEach(System.out::println);
}
public void orAndDemo() {
LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
lqw.gt(User::getCredit, 10000)
.and(wrapper -> wrapper.lt(User::getCredit, 100000))
.or()
.eq(User::getGender, true);
List users = userMapper.selectList(lqw);
users.forEach(System.out::println);
}
public void pageDemo() {
Page page = new Page(4, 3);
LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(User::getId);
Page res = userMapper.selectPage(page, lqw);
res.getRecords().forEach(System.out::println);
}
public void updateDemo1() {
LambdaUpdateWrapper luw = Wrappers.lambdaUpdate();
luw.eq(User::getId, 5)
.set(User::getName, "大中国")
.set(User::getUsername, "老大");
userMapper.update(null, luw);
}
public void updateDemo2() {
LambdaUpdateWrapper luw = new LambdaUpdateWrapper();
luw.eq(User::getId, 3)
.set(User::getNickname, "wanger");
int res = userMapper.update(null, luw);
System.out.println(res);
}
public void updateDemo3() {
boolean res = new LambdaUpdateChainWrapper(userMapper)
.eq(User::getId, 4)
.set(User::getNickname, "mazi")
.update();
System.out.println(res);
}