您当前的位置: 首页 >  mybatis

梁云亮

暂无认证

  • 4浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MyBatis-Plus 进阶 之 lambda 编程

梁云亮 发布时间:2021-04-23 18:00:07 ,浏览量:4

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);
}

关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0424s