`

myibatis3 使用like 模糊查

 
阅读更多

 

 

方法1:

<sql id="select_where">

<if test="orderid != null">

and om.orderid = #{orderid}

</if>

 

<if test="paytype != null">

and om.paytype = #{paytype}

</if>

 

<if test="customerid != null">

and om.customerid = #{customerid}

</if>

 

<if test="status != null">

and om.status = #{status}

</if>

 

<if test="type != null">

and om.type = #{type}

</if>

 

<if test="proName != null">

and od.productname like 

concat(concat('%',#{proName}),'%')

</if>

 

<if test="proCode != null">

and od.PRODUCT_NO like 

concat(concat('%',#{proCode}),'%')

</if>

</sql>

 

<select id="orderTotalRows" resultType="java.lang.Integer"

parameterType="com.cloud.api.pojo.order.OrderSql">

select count(1)

from OMORDER om,orderdetail od

where om.orderid = od.orderid

 

<include refid="select_where" />

 

</select>

 

 

方法2

 

<sql id="select_where">

<if test="orderid != null">

and om.orderid = #{orderid}

</if>

 

<if test="paytype != null">

and om.paytype = #{paytype}

</if>

 

<if test="customerid != null">

and om.customerid = #{customerid}

</if>

 

<if test="status != null">

and om.status = #{status}

</if>

 

<if test="type != null">

and om.type = #{type}

</if>

 

<if test="proName != null">

and od.productname like ${bname}

</if>

 

<if test="proCode != null">

and od.PRODUCT_NO like 

${bcode}

</if>

</sql>

 

<select id="orderList" resultMap="BaseResultMap"

parameterType="com.cloud.api.pojo.order.OrderSql">

<bind name="bname" value="'%'${proName}'%'"/>

<bind name="bcode" value="'%'${proCode}'%'"/>

 

select *

from (select t_order.*, rownum as odnum

from (

select

<include refid="Base_Column_List" />

from OMORDER om,orderdetail od

where om.orderid = od.orderid

 

<include refid="select_where" />

 

) t_order

<![CDATA[where rownum <=]]>

#{rowEnd} )

<![CDATA[where odnum >]]>

#{rowBegin}

 

</select>

 

分享到:
评论

相关推荐

    Mybatis中的like模糊查询功能

    本文将详细介绍Mybatis中使用`LIKE`进行模糊查询的几种方法。 1. **参数中直接加入`%`** 在Mybatis的动态SQL中,我们可以直接在传入的参数中添加`%`符号来实现模糊查询。例如,对于`username`和`password`字段,...

    使用Mybatis框架的模糊查询

    在SQL中,模糊查询通常使用`LIKE`关键字来实现,允许我们在条件表达式中包含通配符,以匹配部分或全部字符串。常见的通配符有`%`(代表零个、一个或多个字符)和`_`(代表单个字符)。 在Mybatis中,实现模糊查询...

    MyBatis模糊查询

    通常,模糊查询使用SQL语句中的`LIKE`关键字来实现。模糊查询特别适用于文本数据的搜索,比如在姓名、地址或描述等字段中查找包含特定字符串的数据。 #### 三、MyBatis中实现模糊查询的方法 在MyBatis中实现模糊...

    Mybatis自定义拦截器,对模糊查询传值的特殊字符统一进行转义处理的代码

    特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)

    mybatis 增删改查 模糊查询 操作

    在实际的项目开发中,MyBatis 提供了强大的功能,使得开发者可以更灵活地控制 SQL 执行,从而实现数据的增删改查操作。在本教程中,我们将深入探讨如何在 MyBatis 中进行基本的 CRUD(创建、读取、更新、删除)操作...

    MyBatis-plus 模糊查询的使用

    3. 对于更复杂的模糊查询,比如只在字段值的左侧或右侧添加通配符,你可以使用`likeLeft`或`likeRight`方法。例如: ```java queryWrapper.likeLeft("EMAIL", user.getEmail()); ``` 这将生成`EMAIL LIKE '%example@...

    利用MyBatis进行不同条件的like模糊查询的方法

    本文将介绍如何使用MyBatis进行不同条件的like模糊查询。 like模糊查询的原理 like模糊查询的原理是使用SQL的LIKE运算符来匹配查询条件。在MyBatis中,使用like模糊查询需要在SQL语句中使用LIKE运算符,例如: ```...

    mybatis3 增删改查 基本操作(CURD)

    本文将详细讲解MyBatis3中的增删改查(CURD)基本操作。 首先,我们来看“增”操作。在MyBatis中,新增数据通常通过`&lt;insert&gt;`标签来实现。例如,假设有一个User实体类,我们可以通过以下方式插入一条新的用户记录...

    Mybatis自定义拦截器,对模糊查询传值的特殊字符(\,_,%)统一进行转义处理的代码

    代码包含: EscapeUtil.java:特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%...

    Mybatis 中 Oracle 的拼接模糊查询及用法详解

    本文将详细介绍 Mybatis 中 Oracle 的拼接模糊查询及用法,旨在帮助开发者更好地使用 Mybatis 实现 Oracle 数据库的查询操作。 一、拼接模糊查询的正确写法 在 Oracle 中,拼接模糊查询的正确写法是使用 `concat` ...

    MyBatis-Plus之分页模糊查询

    在进行模糊查询时,我们可以使用`like`操作符配合`%`通配符来实现。例如,如果我们要查找用户名包含"张"的所有用户,可以使用`userMapper.selectByUserNameLike("%张%")`,其中`selectByUserNameLike`是自定义的方法...

    springMvc+mybatis 招聘网站 模糊查询 登录验证完整项目

    对于模糊查询功能,Mybatis允许我们编写灵活的SQL,如使用LIKE操作符配合通配符%,实现关键词的模糊匹配。同时,Mybatis的动态SQL功能使得可以根据不同的条件动态生成查询语句,提高了代码的可复用性和灵活性。 在...

    mybatis 模糊查询的实现方法

    总的来说,理解MyBatis中的`#`和`$`的区别,以及正确使用它们进行模糊查询,对于提升应用的安全性和效率至关重要。在实现模糊查询时,应优先考虑使用`#`,并避免使用`$`,除非你知道这样做是安全的。同时,利用`&lt;!...

    MyBatis中的模糊查询语句

    MyBatis的模糊查询不仅限于简单的`LIKE`操作,还可以结合其他SQL函数,如`SUBSTRING`、`INSTR`等,实现更复杂的模糊匹配逻辑。同时,MyBatis的动态SQL特性使得我们可以根据不同的业务需求灵活构造查询语句。 总的来...

    mybatis分页及模糊查询功能实现

    MyBatis分页及模糊查询功能实现 MyBatis是一款流行的持久层框架,它提供了强大的数据库交互能力,包括分页和模糊查询功能。在实际开发中,分页和模糊查询是最常用的功能,下面我们将详细介绍MyBatis如何实现分页和...

    详解MyBatis模糊查询LIKE的三种方式

    MyBatis模糊查询LIKE的三种方式详解 MyBatis是一种流行的持久层框架,它提供了多种方式来实现模糊查询。模糊查询是数据库SQL中使用频率很高的SQL语句,通过MyBatis可以更加灵活地进行模糊查询。本文将详解MyBatis...

    Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办

    当在Mybatis中进行模糊查询(如使用`LIKE`操作符)时,如果输入英文,查询可以正常工作,但输入中文则返回空结果。这通常意味着在数据传输或处理过程中,中文字符编码转换出现了问题。 2. **解决方案**: 在Java...

    MyBatis实现动态查询、模糊查询功能

    MyBatis是一款非常流行的ORM框架,它提供了强大的数据库交互功能,今天我们就来学习如何使用MyBatis实现动态查询和模糊查询功能。 动态查询 动态查询是指根据不同的条件生成不同的SQL语句,以满足不同的查询需求。...

    支持连表查询的mybatis-plus

    3. **连表查询的灵活性**:MP的`Wrapper`类不仅支持简单的等值连接,还可以处理复杂的表达式,如`gt`(大于)、`lt`(小于)、`like`(模糊匹配)等,以及自定义SQL片段,使连表查询具备高度的灵活性和可扩展性。...

    MySQL Like模糊查询速度太慢如何解决

    总之,优化MySQL LIKE模糊查询的关键在于理解查询模式、索引的使用以及MySQL的工作原理。通过上述方法,可以显著提升查询性能,减少对系统资源的消耗。在实际操作中,应结合具体场景灵活运用这些策略。

Global site tag (gtag.js) - Google Analytics