在通常情况下iBATIS的参数在sqlmap中使用#param#的形式,参数名以’#’包着,但当使用sql的LIKE语句时就发生了问题,在单引号中无法使用#param#这种形式,下面列举出了3种方法来实现:

当应用SELECT * FROM TABLE WHERE COL LIKE ’value%’时如果要把’value’以参数代替,可以把整个LIKE后面的字符串全改为参数,即 SELECT * FROM TABLE WHERE COL LIKE #param#,此时参数param的值为字符串"value%"。但有时上面这种情况会使程序变复杂,所以用参数只代替’value’时就要碰到在单引号内使用参数的问题。这时是使用’$’将参数名包起来,即SELECT * FROM TABLE WHERE COL LIKE ’$param$%’,此时参数param的值就是字符串"value"。

在网上看到另一种方法,就是SELECT * FROM TABLE WHERE COL LIKE #param#||’%’。这个方法我试过了,是无效的的,mysql中"||"代表程序中的OR,无法正常运行。但是可以通过mysql的字符串了连接函数:contat来实现,将字符串连接起来,这样就可以了,SELECT * FROM TABLE WHERE COL LIKE contat(#param#,’%’)

方法三:在通常情况下iBATIS的参数在sqlmap中使用#param#的形式,参数名以’#’包着,但当使用sql的LIKE语句时就发生了问题,在单引号中无法使用#param#这种形式当应用SELECT * FROM TABLE WHERE COL LIKE ’value%’时如果要把’value’以参数代替,可以把整个LIKE后面的字符串全改为参数,即 SELECT * FROM TABLE WHERE COL LIKE #param#,此时参数param的值为字符串"value%"。

ibatis SQLmap mysql模糊查询字符串拼的三种方法的更多相关文章

  1. [Python]实现字符串倒序的三种方法

    a=" 1: print(a[::-1]) 2: b=list(a) b.reverse() print(''.join(b)) 3: c=len(a)-1 str_1=[] while(c ...

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

    在userMapper.xml文件中新建映射sql的标签 <!-- ******************** 模糊查询的常用的3种方式:********************* --> ...

  3. python字符串连接的三种方法及其效率、适用场景详解

    python字符串连接的方法,一般有以下三种:方法1:直接通过加号(+)操作符连接website=& 39;python& 39;+& 39;tab& 39;+& ...

  4. android sqlite使用之模糊查询数据库数据的三种方式

    android应用开发中常常需要记录一下数据,而在查询的时候如何实现模糊查询呢?很少有文章来做这样的介绍,所以这里简单的介绍下三种sqlite的模糊查询方式,直接上代码把: package com.e ...

  5. Shell中字符串分割的三种方法

    问题:对于’1,2,3,4,5’这样的字符串输出采用,分隔开的1 2 3 4 5 特征:在字符串中没有空格 解决方法1: #!/bin/bash var=’1,2,3,4,5’ var=${var// ...

  6. 【转】C语言中字符串输入的三种方法

    在网上看到,讲的还算详细,转过来学习一下...... ======================================================================= 使 ...

  7. ORACLE查询删除重复记录三种方法

    本文列举了3种删除重复记录的方法,分别是rowid.group by和distinct,小伙伴们可以参考一下.   比如现在有一人员表 (表名:peosons) 若想将姓名.身份证号.住址这三个字段完 ...

  8. hibernate 查询全部数据的三种方法

    1.Query对象 使用Query对象需要写hql语句,使用hql语句操作的是实体类和属性. 用于查询全部的hql语句:from 实体类名称   例:String hql = "from U ...

  9. 将字符串str1复制为字符串str2的三种方法

    1.自己编写函数,将两个字符串进行复制 #include<iostream> using namespace std; int main(){ char str1[]="I lo ...

随机推荐

  1. accumarray

    Example Create a -by- vector and sum values -D subscripts: val = :; subs = [; ; ; ; ] subs = A = acc ...

  2. Android-AndroidManifest.xml默认启动的Activity(探索篇01)

    AndroidManifest.xml-->默认启动  MusicBrowserActivity <activity android:name=".MusicBrowserAct ...

  3. 学习总结---INNODB 事务并发

    目前在做一个OLTP的数据库系统,批量读写和随机读写并发,情况比较复杂.INNODB是我们的MYSQL引擎,他的主要特点是读操作可以不受阻塞,而修改操作会加锁.如何才能最高效的使用innodb是我们需 ...

  4. Asp.net WebForm 中无法引用App_Code文件夹下的类

    在VS2013中新建asp.net webform应用程序,手动添加"APP_Code"文件夹并新建类文件,发现这些类无法在APP_Code文件夹以外被引用. 解决办法: 选中类文 ...

  5. ajax C# webapi上传图片

    html ajax上传图片到服务器 后端采用asp.net webapi 前端有各种现实上传图片的控件,样式可以做的很美观.我这里只用基本的样式做图片上传. 前端代码 <input name=& ...

  6. C# RS232串口使用

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  7. 在Windows安装Reids 详解

    今天安装了redis,记录点经验 因为Redis项目没有正式支持Windows. 但Microsoft开发和维护一个针对Windows 64版的redis. 下载地址在微软的GitHub上,地址:ht ...

  8. MySQL事务一致性理解

    一致性是指数据处于一种语义上的有意义且正确的状态.一致性是对数据可见性的约束,保证在一个事务中的多次操作的数据中间状态对其他事务不可见的.因为这些中间状态,是一个过渡状态,与事务的开始状态和事务的结束 ...

  9. PHP/ThinkPHP5 框架集成微博登录入库流程示意

    PHP/ThinkPHP5 框架集成微博登录入库流程示意 第三方登陆这个东东,目前主要是 微信.微博.qq.淘宝.支付宝 等几个.他们都是基于oath2协议的.原理差不多.这里记录的是我测试的新郎微博 ...

  10. 从B站、爱奇艺、映客的IPO上市,看国内视频公司的内容审核现状

    本文由  网易云发布. 3月30日,中央电视台<经济半小时>栏目讲述了网络上的一个顽症——色情内容.在这期主题为<互联网上的“色诱”>的节目中,央视的记者揭示了色情直播的猖獗. ...