• MyBatis-Plus条件构造器Wrapper


    条件构造器Wrapper

    @Test
    void selectByWarpper(){
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.like("email","123");
        List<User> users1 = userMapper.selectList(wrapper);
        users1.forEach(System.out::println);
    
        wrapper.clear();
        wrapper.eq("name","刘备");
        System.out.println(userMapper.selectOne(wrapper));
    
        wrapper.clear();
        wrapper.isNotNull("age");
        List<User> users2 = userMapper.selectList(wrapper);
        users2.forEach(System.out::println);
    
        wrapper.clear();
        wrapper.between("age",10,25);
        List<User> users3 = userMapper.selectList(wrapper);
        users3.forEach(System.out::println);
    
        wrapper.clear();
        wrapper.inSql("id","select id from user where id<3");
        List<User> users4 = userMapper.selectList(wrapper);
        users4.forEach(System.out::println);
    
        wrapper.clear();
        wrapper.orderByDesc("age");
        userMapper.selectList(wrapper);
    }
    

    更多条件构造器用法参照官网:条件构造器

    使用Wrapper自定义sql

    在使用了mybatis-plus之后, 自定义SQL的同时也想使用Wrapper的便利应该怎么办? 在mybatis-plus版本3.0.7得到了完美解决 版本需要大于或等于3.0.7, 以下两种方案取其一即可.

    Service.java

    mysqlMapper.getAll(Wrappers.<MysqlData>lambdaQuery().eq(MysqlData::getGroup, 1));
    

    #方案一注解方式mapper-java方案一 注解方式 Mapper.java

    @Select("select * from mysql_data ${ew.customSqlSegment}")
    List<MysqlData> getAll(@Param(Constants.WRAPPER) Wrapper wrapper);
    

    #方案二 XML形式 Mapper.xml

    <select id="getAll" resultType="MysqlData">
    	SELECT * FROM mysql_data ${ew.customSqlSegment}
    </select>
    
  • 相关阅读:
    redis 配置文件说明
    Python 详解命令行解析
    Python 的字符编码
    pt-online-schema-change utf8mb4 错误解决方法【转】
    [MySQL 5.6] Innodb新特性之export/import 表文件
    查找数据库大小和表大小
    MySQL 增删列
    使用MySQL Shell创建MGR
    Qingcloud_MySQL Plus(Xenon) 高可用搭建实验
    MySQL事务提交流程
  • 原文地址:https://www.cnblogs.com/junlinsky/p/13661231.html
Copyright © 2020-2023  润新知