• Mybatisplus 自定义sql 使用条件构造器


    两种方式

    注解方式

    动态查找:
    @Select("select ${ew.SqlSelect} from ${tableName} ${ew.customSqlSegment}")
    List<File> listFileByCondition(@Param("tableName") String tableName, @Param("ew") Wrapper wrapper);
    
    ew.SqlSelect:所需要查找的字段
    
    tableName:使用的是那张表
    
    ew.customSqlSegment:条件
    用法:allFileMapper.listFileByCondition(tableName,Wrappers.query().select("*").in("relation_uuid", uuids));
    结果: select * from tablName where relation_uuid in ()
    
    
    动态修改:
    @Update("update ${tableName} set ${ew.sqlSet} ${ew.customSqlSegment}")
    int updateByCondition(@Param("tableName") String tableName, @Param("ew") Wrapper wrapper);
    
    ew.sqlSet:修改的字段
    
    tableName:使用的是那张表
    
    ew.customSqlSegment:条件
    
    用法:
    mapper.updateByCondition(tableName, Wrappers.update().set("state", "初始状态").in("id", ids));
    结果: update tableName set state = '初始状态' where id in ()
    

    xml方式

    查找:
    <select id="listFileByCondition" resultType="com.example.entity.File">
    	SELECT ${ew.SqlSelect} FROM ${tableName} ${ew.customSqlSegment}
    </select>
    
    
    修改:
    <update id="listFileByCondition" >
    	update ${tableName} ${ew.SqlSelect}  ${ew.customSqlSegment}
    </update>
    

    查找带分页

    xml用法:
    Page<File> selectPage(Page page, @Param("tableName") String tableName, @Param("ew") Wrapper wrapper);
    
    <select id="selectPage" resultType="com.example.entity.File">
            select * from ${tableName} ${ew.customSqlSegment}
    </select>
    
    注解分页:
  • 相关阅读:
    PowerDesigner执行SQL生成模型
    IBM,ORACLE 文档
    JAAS 自定义登陆模块
    JAAS 使用windos登陆示例
    IFRAME跨域
    JAVA RSA 数字签名
    JAVA数字证书
    搭模型时常用的numpy公式,不定时更新~
    Failed to connect to github.com port 443: Timed out
    linux和colab上安装torch_geometric踩坑记录,安装过程
  • 原文地址:https://www.cnblogs.com/xiami2046/p/13866673.html
Copyright © 2020-2023  润新知