ibatis配置中like的写法

ibatis配置like的写法

(2012-01-29 15:57:37)
标签:

ibatislike

分类: java
<!-- 正文开始 -->
iBATIS教程之 like语句的使用我们可以先看看网上搜了一下 iBATIS的关于 like的使用

select * from USERS where USER_NAME like '%wang%'; 这种 like语句在 iBATIS中怎么写,项目是用 iBATIS作为持久层的框架。

<select id="showOneStudentByName" parameterClass="String" resultMap="studentORM>" select * from t_stu where s_name like #name#  </select> 这样写显然不行

在调用中需要在参数的前后加上%,比如这样:

return sqlMapper.queryForList("Student.showOneStudentByName", "%"+name+"%"); 这样可行,但总显得有些不协调。

最后针对Oracle数据库写法为:

<select id="showOneStudentByName" parameterClass="String" resultMap="studentORM">  select * from t_stu where s_name like '%'||#name#||'%'   </select>  在调用的时候就不用去前后加%了。

注意:SQL语句不要写成select * from t_stu where s_name like '%$name$%',这样极易受到注入攻击。

补充说明一下:

对于不同数据字符串连接符不一样。列举mysql和SQLServer如下:

Mysql:

SELECT *    FROM user    WHERE username like CONCAT('%', #username#, '%')  SQLServer:

SELECT *    FROM user    WHERE username like '%' + #username# +  '%'  关于数据库字符串连接符简单列举我使用过的一些数据库如下图:

 

iBATIS教程之 like语句的使用就向你介绍到这里,希望对你有所帮助。

猜你喜欢

转载自hellohubin-yahoo-com-cn.iteye.com/blog/1871093