ibatis 参数之模糊查询
因项目需要最近使用ibatis,在使用查询语句的时候,想着通用性所以没有在配置文件里用N多的and 语句,而是如下:
<select id="getUsersList" resultClass="userInfo" parameterClass="java.util.HashMap">
select user_id userId,user_no
userNo,user_name userName, pass
pass,area_no areaNo,phone phone, mail
mail,is_admin
isAdmin,'status' 'status',create_date createDate,
last_login_date
lastLoginDate, last_login_ip lastLoginIp from
p_sys_user <isParameterPresent>
<isNotNull property="conditional">
where #conditional#
</isNotNull>
<isNotNull property="orderByClause">
order by #orderByClause#
</isNotNull>
<isNotNull property="pageStart">
limit #pageStart#, #pageEnd#
</isNotNull>
</isParameterPresent> </select>
页面上如此调用:
String conditional=" user_no like concat('%', 'q', '%')";
int pageSize=Integer.valueOf(request.getParameter("rows"));
int pageIndex=Integer.valueOf(request.getParameter("page"));
users = userService.getSysUserList(pageSize, conditional, pageIndex, "user_id asc");
结果在日志里出现的语句放在数据库是可以执行的,但是就是一直取不到正确的数据,后来发现是ibatis的$与#的区别导致的,将配置文件改成
<select id="getUsersList" resultClass="userInfo" parameterClass="java.util.HashMap">
select user_id userId,user_no
userNo,user_name userName, pass
pass,area_no areaNo,phone phone, mail
mail,is_admin
isAdmin,'status' 'status',create_date createDate,
last_login_date
lastLoginDate, last_login_ip lastLoginIp from
p_sys_user <isParameterPresent>
<isNotNull property="conditional">
where $conditional$
</isNotNull>
<isNotNull property="orderByClause">
order by #orderByClause#
</isNotNull>
<isNotNull property="pageStart">
limit #pageStart#, #pageEnd#
</isNotNull>
</isParameterPresent> </select>
一切正常,因为#时,会当成字符串来解析所以没有得到正确的结果。这个错误调了好久记录下,但是这种得记住要注意SQL注入。
ibatis 参数之模糊查询的更多相关文章
- Oracle,Mysql ,SQL Server 三大数据库带参数的模糊查询, 拼接查询条件问题
最近项目开发一直在不断切换数据库,有时候一条sql 要同时考虑多种数据库中的兼容问题 , 先总结一条模糊查询拼接查询条件的问题,后续追加总结. 目前使用 mybatis: 1. Oracle 中使 ...
- ibatis SQLmap mysql模糊查询字符串拼的三种方法
在通常情况下iBATIS的参数在sqlmap中使用#param#的形式,参数名以’#’包着,但当使用sql的LIKE语句时就发生了问题,在单引号中无法使用#param#这种形式,下面列举出了3种方法来 ...
- Oracle函数中将参数放在模糊查询中
--diagnosis_name like '%'||diagnosis_names||'%' create or replace function asdf(MIN_DATE IN varchar2 ...
- springJdbc like模糊查询,Spring namedParameterJdbcTemplate like查询
springJdbc like模糊查询,Spring namedParameterJdbcTemplate like查询, SpringJdbc命名参数like模糊查询,namedParameterJ ...
- query_string查询支持全部的Apache Lucene查询语法 低频词划分依据 模糊查询 Disjunction Max
3.3 基本查询3.3.1词条查询 词条查询是未经分析的,要跟索引文档中的词条完全匹配注意:在输入数据中,title字段含有Crime and Punishment,但我们使用小写开头的crime来搜 ...
- [原创]java WEB学习笔记23:MVC案例完整实践(part 4)---模糊查询的设计与实现
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- ibatis动态多条件查询及模糊查询(oracle,mysql,sql)
首先是模糊查询的问题,开始时我使用如下条件:select * from user where name like '%#value#%'. 可是怎么也不行,好像还报错了.后来在网上找到了解决方法,就是 ...
- IBatis模糊查询
IBatis模糊查询 补充: mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * ...
- iBatis 中 Like 的写法实现模糊查询
iBatis 开发指南告诉我们,当 Person 对象的 name 属性不为 null 时启用 name 查询条件在映射文件 person.xml 中的配置为 <select id=" ...
随机推荐
- 在C#中控制ListBox某一行的字体颜色
例1 private void Form1_Load(object sender, EventArgs e) { listBox1.Items.Add("红色"); listBox ...
- ListBox和ComboBox绑定数据简单例子
1. 将集合数据绑定到ListBox和ComboBox控件,界面上显示某个属性的内容 //自定义了Person类(有Name,Age,Heigth等属性) List<Person> per ...
- delphi 浮点 精度
double 没有问题, Single有问题 '0.7' 0.69999999999999996 Single; // 4 byte real Double; // 8 byte real
- html调用OCX
<body> <p>hello</p> <p></p> <object id="iett" classid=&qu ...
- chrom中安装elastic search head插件
1. 访问https://chrome.google.com/webstore/detail/elasticsearch-head/ffmkiejjmecolpfloofpjologoblkegm/ ...
- ubuntu下永久修改DNS
通过修改: sudo vi /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的) 在里面插入: nameserver 8.8.8.8 nameserver 8.8 ...
- WPF 绑定以基础数据类型为集合的无字段名的数据源
WPF 绑定以基础数据类型为集合的无字段名的数据源 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-21 我们在控件的数据绑定 ...
- Oracle 相关知识点结构图
最近在学Oracle数据库,制作了些结构图方便记忆!主要涉及到Oracle数据类型,Oracle的表操作以及Oracle的游标,还有的之后再分享...... Oracle 数据类型 因为图片上只能看到 ...
- centos7 yum 安装jq
一.简介 EPEL是企业版 Linux 附加软件包的简称,EPEL是一个由Fedora特别兴趣小组创建.维护并管理的,针对 红帽企业版 linux(RHEL)及其衍生发行版(比如 CentOS.Sci ...
- How to map host ip and port to Hyper-V
1.1 Add an port proxy netsh interface portproxy add v4tov4 listenport=hostport listenaddres=ho ...