在.xml文件中模糊查询的常用的3种方法

摘要:
我经常使用的模糊查询方法是:˂--*********************有三种常见的模糊查询方式:*************************************select=Null“˃andemaillike#{pattern}是两种方法。我个人认为,第二种方法比第一种更好,更简单。

我经常使用的模糊查询的方法是:

<!-- ******************** 模糊查询的常用的3种方式:********************* -->
    <select   parameterType="User" resultType="User">
        select <include refid="columns"/> from users
        <where>
            <if test="name != null">
                name like "%"#{name}"%"
            </if>
            <!--方法二: 使用concat(str1,str2)函数将两个参数连接 -->
            <if test="phone != null">
                and phone like concat(concat("%",#{phone}),"%")
            </if>
        </where>
    </select>

因为这种使用两个连接符进行连接起来,看起来更好看一下吧。

还有其他两种方式:

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

就是这两种方式。我个人觉得还是第二种更好一下,比第一种规范,比第二种简洁。

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

上篇双口RAM,值得研究Pytest自动化测试下篇

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

相关文章

C#中使用SelectNodes筛选XML元素的问题

今天在C#中使用SelectNodes的时候出现了一些怪现象,先从还原现场开始吧。 首先创建一个简单的XML文件来试验,还是就保存为test.xml <?xml version="1.0" encoding="utf-8" ?> <root> <users job="salas"> <user&g...

XML做数据库操作之 我浑了

只前我看邵志东老师的教程做了一个实例 地址是 http://thcjp.cnblogs.com/archive/2006/05/06/392739.html但是删除的问题始终没有解决,这次做留言本 http://thcjp.cnblogs.com/archive/2006/06/26/435962.html我实在想不到好办法来维护广告控件使用的那个XML文...

Servlet(三)

dom4j 元素对象获取指定子元素 element("名字") ServletConfig: 1.在Servlet运行时,需要获取servlet的配置信息 可以使用servletConfig来进行获取 由tomcat创建 在servlet实例化的时候,把servlet的一些配置信息放入ServletConfig对象 2.获取servletConfig:in...

SAP UI5和CRM WebUI的View和Controller是如何绑定的

UI5 例如我在UI5的界面上画一个按钮,点击之后弹出一个Alert dialog。 在XML view里只定义了controller的名称和事件处理函数的名称。那么按钮被点击之后,controller的onShowHello被触发。但是,这个controller的实例是什么时候被创建, 并且关联到这个申明它的XML view里呢? 在XMLView.j...

任务备忘(已经完成):用python写一个格式化xml字符串的程序

功能: 1.将xml中多余的空格,换行符去掉,让xml字符串变成一行。 2.将xml中添加缩进,使用print能正确打印添加缩进后的字符串。 思路: 采用正则表达式来判断xml中字符串的类型: 1.文件头 2.判断元素的种类:带有属性的标签,没有属性的标签,标签内结束的标签,只含有文本的标签,不含有文本的标签。 3.根据标签的级别添加换行符后面的空格 '...

Android 项目中文件夹的说明与作用(转)

(转自:http://blog.csdn.net/goodshot/article/details/11529731)   Android 项目中文件夹的作用 1. src:存放所有的*.java源程序。 2. gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID。 3. assets:可以存放项目一些较大的资源文件,例...