几种mybatis 模糊查询条件写法
2018-02-02 11:28
411 查看
写法一
通过CONCAT()将两个字符串连接起来
@Ognl@isNotEmpty()函数是用来判断你传入的值是否不为空,不为空才在sql里添加这个查询条件,这是动态mybatis sql语句的写法,idcard就是你传入的值
写法二
通过自己添加%%
写法三
通过java后台拼接再传入
java代码
给user对象的username设置传入的值(name),这个时候拼接了模糊查询的百分号
mybatis的sql文件写法
引用
上面写的只是代码块,下面在具体语句引用代码块,用mybatis的include标签引用
通过CONCAT()将两个字符串连接起来
@Ognl@isNotEmpty()函数是用来判断你传入的值是否不为空,不为空才在sql里添加这个查询条件,这是动态mybatis sql语句的写法,idcard就是你传入的值
<sql id="getAllWhere"> <if test="@Ognl@isNotEmpty(idcard)">AND idcard LIKE CONCAT(CONCAT('%', #{idcard}), '%') </if> </sql>
写法二
通过自己添加%%
<sql id="getAllWhere"> <if test="@Ognl@isNotEmpty(username)">AND username LIKE '%${username}%'</if> </sql>
写法三
通过java后台拼接再传入
java代码
给user对象的username设置传入的值(name),这个时候拼接了模糊查询的百分号
user.setUsername("%" + name + "%");
mybatis的sql文件写法
<!-- 这里就不能用@Ognl@isNotEmpty了,因为传过来的值不可能是空的,所有只能通过直接判断username是否等于%%来决定是否为空--> <sql id="getAllWhere"> <if test="username != '%%'">AND username LIKE #{username}</if> </sql>
引用
上面写的只是代码块,下面在具体语句引用代码块,用mybatis的include标签引用
<select id="count" resultType="long" parameterType="Map"> SELECT count(*) FROM real_name_validate WHERE 1=1 <include refid="getAllWhere" /> </select>
相关文章推荐
- MyBatis常用几种模糊查询的写法
- Mybatis中模糊查询的各种写法
- Mybatis 多条件查询(模糊查询 使用in查询)
- mybatis 几种实现模糊查询的方法简介
- mybatis模糊查询及if多条件(if条件的参数为方法参数而非数据库字段)
- Mybatis中模糊查询的各种写法
- MyBatis 3模糊查询(like)写法(转)
- mybatis 几种实现模糊查询的方法简介
- Mybatis中模糊查询的各种写法
- 利用MyBatis进行不同条件的like模糊查询的方法
- Mybatis基础-多条件查询和模糊查询实例
- Mybatis框架的模糊查询(多种写法)、删除、添加(四)
- Mybatis中模糊查询的各种写法
- mybatis中模糊查询的写法
- SQL Server 存储过程中处理多个查询条件的几种常见写法分析,我们该用那种写法
- MyBatis实现模糊查询的几种方式
- mybatis模糊查询--前台传过来一个字符串,然后将这个字符串作为where条件进行模糊查询
- mybatis多条件的模糊查询解决方案
- mybatis的xml中特殊转义字符和模糊查询like的写法
- 【mybaits】Mybatis中模糊查询的各种写法