mybatis常用的模糊查询

摘要:
有三种常见的模糊查询方法:直接使用%来拼接字符串,例如“%”#{name}“%”或“%”#{name}“%”、单引号或双引号。使用concat函数拼接mybatis的绑定标记˂--*********************有三种常见的模糊查询方法:***********************************************************************************select=Null“˃andemailike#{pattern}插入后获取自动递增主键的值

常用的模糊查询有三种方法:
直接使用 % 拼接字符串,如 '%'#{name}'%' 或 "%"#{name}"%",单引号或双引号都可以。
使用concat(str1,str2)函数拼接
使用mybatis的bind标签

<!-- ******************** 模糊查询的常用的3种方式:********************* -->
<select parameterType="User" resultType="User">
select <include refid="columns"/> from users
<where>
    <!-- 方法一: 直接使用 % 拼接字符串
    注意:此处不能写成 "%#{name}%" ,#{name}就成了字符串的一部分,
    会发生这样一个异常: The error occurred while setting parameters,
     应该写成: "%"#{name}"%",即#{name}是一个整体,前后加上% -->
    <if test="name != null"> name like "%"#{name}"%" </if>

    <!--方法二: 使用concat(str1,str2)函数将两个参数连接 -->
     <if test="phone != null"> and phone like concat(concat("%",#{phone}),"%") </if>

     <!--方法三: 使用 bind 标签,对字符串进行绑定,然后对绑定后的字符串使用 like 关键字进行模糊查询 -->
     <if test="email != null"> <bind name="pattern" value="'%'+email+'%'"/> and email like #{pattern} </if>
</where>
 </select>


插入后获取自增主键的值
<insert keyProperty="userCode" useGeneratedKeys="true">

免责声明:文章转载自《mybatis常用的模糊查询》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【转】Win8下安装SQL Server 2005无法启动服务JDBC工具类完整版!下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

LocalDatetime 与 mybatis、json的坑

总所周知,localdatetime是jdk8 推出的关于日期计算非常方便地一个类,一旦开始用上就欲罢不能。但是在使用的时候,坑还是蛮多的。 一、mybatis与LocalDatetime 如果直接将实体里面所有的Date类型换成LocalDatetime之后,运行程序是会报异常的。此时,可以加入以下依赖: <dependency> <...

mybatis高级应用系列一:分页功能

Mybatis分页插件请使用这位帅哥开发的, 看起来不错.https://github.com/miemiedev/mybatis-paginator Mybatis3.0出来已有段时间了,其实自己挺喜欢这样的一个持久化框架的,因为它简单实用,学习成本低。Mybatis3.0在整体结构上和ibatis2.X差不多,改进特性如下: 1.解析xml引进了Xp...

mybatis的关联查询以及count

1.多表查询,1对1的时候,最简单的做法 <resultMap id="postInfo" type="postInfoEntity"> <id property="postId" column="post_id"/> <result property="userName" column="us...

MyBatis(十一) 嵌套结果集的方式,使用collection标签定义关联的集合类型的属性封装规则

(1)接口中编写方法 public Dept getDeptPlusById(Integer id); (2)Mapper文件 1   <resultMap type="com.eu.bean.Dept" id="MyPlus"> 2 <id column="id" property="id"/> 3...

mybatis 报错:Caused by: java.lang.NumberFormatException: For input string

mybatis的if标签之前总是使用是否为空,今天要用到字符串比较的时候遇到了困难,倒腾半天,才在一个论坛上找到解决方法。笔记一下,如下: 转自:https://code.google.com/p/mybatis/issues/detail?id=262 错误描述: <select id="sltTreatment" resultType="com....

MyBatis魔法堂:Insert操作详解(返回主键、批量插入)

  一、前言                                      数据库操作怎能少了INSERT操作呢?下面记录MyBatis关于INSERT操作的笔记,以便日后查阅。 二、 insert元素 属性详解                               其属性如下:    parameterType ,入参的全限定类名或类型...