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

  • 相关阅读:
    lower版购物车模拟
    字典的增删改查和操作
    生成四位验证码
    列表的增删改查和操作
    根据输入字符串,分别计算大写,小写,数字,标点的个数
    检查一个数是不是质数
    非诚勿扰,选心动女生(小游戏)
    汉诺塔的实现
    一个纯虚函数导致的问题
    Hello World 之 CGAL
  • 原文地址:https://www.cnblogs.com/langtianya/p/2969367.html
Copyright © 2011-2022 走看看