SpringBoot之MyBatis-plus操作SQL

1.Wrapper相关操作

Descending 降序

Ascending   升序

    QueryWrapper<User> objectQueryWrapper = new QueryWrapper<>();
            objectQueryWrapper.orderByDesc("age");//根据年龄降序
            objectQueryWrapper.orderByAsc("id");//根据id升序
        List<User> users = userMapper.selectList(objectQueryWrapper);
        users.forEach(System.out::println);//查询
//---------------------------------------------------------------------->
    QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
       userQueryWrapper.isNull("password");//判断密码是否为空
        int delete = userMapper.delete(userQueryWrapper);//删除
//---------------------------------------------------------------------->
 //UPDATE user_t SET name=?, age=? WHERE (age <= ? AND name LIKE ? OR password IS NULL)
        QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
        userQueryWrapper.le("age",20)
                        .like("name","刘")
                         .or()
                         .isNull("password");
         User user = new User();
         user.setName("刘家雨");
         user.setAge(22);

        boolean update = userService.update(user, userQueryWrapper);
        System.out.println(update);//修改

mybatis-plus中Lambda表达式优先执行!

 1.1QueryWrapper的select(Wrapper 封面)

 @Test
    public void test6(){
        QueryWrapper<User> user = new QueryWrapper<>();
        user.select("name","age");
        Map<String, Object> map = userService.getMap(user);
        for (Map.Entry<String,Object> m :map.entrySet()){
            Object value = m.getValue();
            String key = m.getKey();
            System.out.println(key+value);
        }

    }

1.2UpdateWrapper

  //UPDATE user_t SET name=?,password=? WHERE (name LIKE ? AND (age > ? OR password IS NULL))
        UpdateWrapper<User> user = new UpdateWrapper<>();
        user.like("name","林")
                .and(i->i.gt("age",30).or().isNull("password"));
        user.set("name","凌达雄").set("password","999lin");
        boolean update = userService.update(null, user);
        System.out.println(update);

2.MyBatis-Plus的分页操作

2.1创建配置类

@Configuration
@MapperScan("com.xie.boot.mapper")
public class MyBatisPlus {
   @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
       MybatisPlusInterceptor m = new MybatisPlusInterceptor();
       m.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
       return m;
   }
}

2.1.3测试

 //SELECT id,name,age,password FROM user_t LIMIT ?
        Page page = new Page(2,3);

        Page page1 = userService.page(page);
        System.out.println(page1);
        System.out.println(page1.countId());
        System.out.println(page1.hasPrevious());
        System.out.println(page1.getCurrent());
        System.out.println(page1.getTotal());
        System.out.println(page1.getRecords());
//------------->
Preparing: SELECT id,name,age,password FROM user_t LIMIT ?,?
==> Parameters: 3(Long), 3(Long)
<==    Columns: id, name, age, password
<==        Row: 5, 蛮少, 35, man321
<==        Row: 6, 汪洋, 25, man321
<==        Row: 1510203010318385173, 刘家雨, 22, liu
<==      Total: 3
com.baomidou.mybatisplus.extension.plugins.pagination.Page@337a6d30
null
true
2
6
[User(id=5, name=蛮少, age=35, password=man321), User(id=6, name=汪洋, age=25, password=man321), User(id=1510203010318385173, name=刘家雨, age=22, password=liu)]

2.1.4自定义

 //自定义sql语句
@Select("select * from user_t where age > #{age}")
 Page<User> pageL(@Param("page") Page<User> page, @Param("age") Integer age);
//测试
 @Test
    public void test2(){
        Page page = new Page(1,3);

        userMapper.pageL(page,30);
    }
//结果
Preparing: select * from user_t where age > ? LIMIT ?
==> Parameters: 30(Integer), 3(Long)
<==    Columns: id, name, age, password
<==        Row: 2, 凌达雄, 33, 999lin
<==        Row: 5, 蛮少, 35, man321
<==      Total: 2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值