0
点赞
收藏
分享

微信扫一扫

SpringBoot之MyBatis-plus操作SQL

全栈学习笔记 2022-04-04 阅读 82
sql

1.Wrapper相关操作

 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 条评论