mybatisplus 自定义sql 使用条件构造器

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>

注解分页:

原文地址:https://www.cnblogs.com/java-hardly-road/p/11088486.html

时间: 2024-10-15 10:16:21

mybatisplus 自定义sql 使用条件构造器的相关文章

SpringBoot整合MybatisPlus有关条件构造器的相关查询方法

详情或有不足请参考官方文档:https://mp.baomidou.com 最近在学习mybatisPlus时总结了一些常用的有关条件构造器的查询方法,以此做下记录,方便学习使用! eq: 等于 = 例子:eq("name", "老王")--->name = '老王' ne: 不等于 <> 例子:ne("name", "老王")--->name <> '老王' gt: 大于 > 例子:

浅谈MyBatis-Plus学习之条件构造器 EntityWrapper

一.EntityWrapper介绍 在实际的开发过程中更多的是带有复杂条件的SQL操作,而不是简单的增删改查.而在这方面MP也提供了条件构造器EntityWrapper(简称EW)来让开发者自由构建SQL操作条件. 注意:条件封装属性,使用的是数据库字段,而不是Java实体属性! 以下列出的是MybatisPlus提供的条件参数: 二.以下是EntityWrapper的使用例子 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfigurati

nutz 自定义sql的使用

虽然提供了Cnd,但是用起来是觉得有点不方便,然后就直接编写Sql语句.nutz提供了一些方法. Nutz.Dao 的自定义 SQL 部分的解决方案是: // 不推荐使用 用户可以硬编码 SQL 语句,比如: Sql sql = Sqls.create("DELETE FROM t_abc WHERE name='Peter'"); // 可以.防注入.不过太多字符串了,要拼接. 支持占位符的书写方式,比如: Sql sql = Sqls.create("DELETE FRO

SQLHelper——一个自定义SQL帮助器

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Configuration; 6 using System.Data.SqlClient; 7 using System.Data; 8 9 /// <summary> 10 /// 名称: 11 /// 自定义SQL帮助器 12 /// 摘要: 13 /// 提供简化sql操作

Linq to Sql 多条件查询

Linq To Sql 多条件查询 string proName = this.txtName.Text.Trim();string lowPrice = this.txtLowPrice.Text.Trim();string highPrice = this.txtHighPrice.Text.Trim(); decimal? lowPrice1 = null, highPrice1 = null;if (!string.IsNullOrEmpty(lowPrice)){        low

[玩转SQL]:02 条件语句与排序

SELECT 更高的用法可以使用WHERE提供查询条件. WHERE语句 语法: SELECT * | {[DISTINCT] column|expression [alias]...} FROM   table [WHERE condition(s)]; 通过WHERE后边子句的表达返回True or False来判断是否满足条件. WHERE子句不可以使用别名. WHERE通常跟在FROM后边. --查询deparment_id为90的列 SELECT employee_id,last_na

【转】SQL多条件模糊查询解决方案-存储过程

前言:   算法的基本特性在前几篇博客中已经做了详细的说明,经过不断的改进优化,到归仓的时候了,也就是说,该算法告一段落,不再更新. 作为最终的解决方案,简要的总结一下算法特性,以方便读者参阅. l 目的:主要用于多条件模糊匹配. l 贪婪特性:返回满足条件尽可能多的记录. l 权重特性:为关键词分配权重,代表关键词的重要性,在不破坏贪婪特性的前提下,返回权重高的记录. l 必要关键词指定特性:在不破坏贪婪特性和权重特性的前提下,返回的结果中必须包含指定的关键词. l 典型应用:问-答系统,例如

C# SQL多条件查询拼接技巧

本文转载:http://blog.csdn.net/limlimlim/article/details/8638080 #region 多条件搜索时,使用List集合来拼接条件(拼接Sql) StringBuilder sql = new StringBuilder("select * from PhoneNum"); List<string> wheres = new List<string>(); if (cboGroup.SelectedIndex !=

织梦dede:arclist按照自定义字段的条件调用相关文章

dedecms织梦dede:arclist按照自定义字段的条件调用相关文章,这对于想要在首页调用某个自定义字段的文章的同学来讲,非常不错 打开 /include/taglib/arclist.lib.php 找到 //关键字条件 在它的上面加入 //自定义字段关键字条件 if($ctag->GetAtt('addk')!='') { $addkeywords = explode(',' , trim($ctag->GetAtt('addk'))); $addf = $ctag->GetA