zoukankan      html  css  js  c++  java
  • iBATIS教程之like语句的写法浅析

    iBATIS教程之like语句的使用我们可以先看看网上搜了一下iBATIS的关于like的使用

    1. select * from USERS where USER_NAME like '%wang%'

    这种like语句在iBATIS中怎么写,项目是用iBATIS作为持久层的框架。

    1. ﹤select id="showOneStudentByName" parameterClass="String" resultMap="studentORM﹥" 
    2. select * from t_stu where s_name like #name#  
    3. ﹤/select﹥ 

    这样写显然不行

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

    1. return sqlMapper.queryForList("Student.showOneStudentByName""%"+name+"%"); 

    这样可行,但总显得有些不协调。

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

    1. select id="showOneStudentByName" parameterClass="String" resultMap="studentORM"﹥  
    2. select * from t_stu where s_name like '%'||#name#||'%'   
    3. ﹤/select﹥  

    在调用的时候就不用去前后加%了。

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

    补充说明一下:

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

    Mysql: 

    1. SELECT *   
    2.  
    3. FROM user   
    4.  
    5. WHERE username like CONCAT('%', #username#, '%')  

    SQLServer:

    1. SELECT *   
    2.  
    3. FROM user   
    4.  
    5. WHERE username like '%' + #username# +  '%'  

    关于数据库字符串连接符简单列举我使用过的一些数据库如下图:

    数据库字符串连接符 

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

    原文:http://developer.51cto.com/art/200907/138302.htm

  • 相关阅读:
    前端css实现最基本的时间轴
    前端css实现最基本的时间轴
    那些年遇见的奇葩编程书籍封面
    那些年遇见的奇葩编程书籍封面
    2018年国内就业薪资高的7大编程语言排行
    乡愁
    乡愁
    微光系列之青春无敌美少女
    1287 矩阵乘法
    一些关于DP的知识
  • 原文地址:https://www.cnblogs.com/langtianya/p/2969367.html
Copyright © 2011-2022 走看看