`
珊瑚成长日记
  • 浏览: 20704 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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语句的使用就向你介绍到这里,希望对你有所帮助。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics