0 0

ibatis关于单引号的问题5

sql的最后一个条件是 area in ('XX1','XX2');
由于地区的多少不固定,是根据权限找到的,我单独写了个方法将取出来的地区名变成了'XX1','XX2'这样的形式,但是如果作为参数进入ibatis就肯定会报错了
String area = "'XX1','XX2'"
ibatis里面是#area:VARCHAR2#
帮忙解决一下吧~~~,谢谢了
2009年3月13日 16:00

4个答案 按时间排序 按投票排序

0 0

写法应该是:
area in ($areas$)
其中areas变量就是你用Java拼装出来的'XX1','XX2'

2009年3月24日 11:29
0 0

这样的串可以在java程序中进行拼装啊。为什么一定让ibatis做呢?

2009年3月17日 14:16
0 0

特殊符号用
<![CDATA[
area='XX1',area='XX2'
]]>

2009年3月13日 17:36
0 0

你可以用这样拼接SQL

<isNotEmpty  prepend=" and " property="area">
    (area='XX1' or area='XX2' )
</isNotEmpty>

in效率很低的

2009年3月13日 16:32

相关推荐

    通过ibatis解决sql注入问题

    iBatis解决SQL注入问题 iBatis是一个流行的持久层框架,广泛应用于Java企业级开发中。然而,在使用iBatis时,开发人员经常面临着SQL注入问题。SQL注入是一种常见的安全威胁,可能会导致数据泄露、数据篡改、系统...

    ibatis sql语句对条件中特殊字符% # 处理

    其中,单引号(`'`)被替换为两个单引号(`''`),这是为了防止字符串中的单引号与SQL语句中的单引号发生冲突。而斜杠(`/`)、百分号(`%`)以及下划线(`_`)都被加上了转义字符斜杠(`/`)。 ##### 2.2 使用动态SQL标签 ...

    ibatis dynamic 用法

    - **`open`** 和 **`close`**:用于设置动态 SQL 片段的开头和结尾字符串,例如括号、引号等。 #### 四、示例解析 下面通过具体的示例来进一步理解 `&lt;dynamic&gt;` 标签的使用方法。 ```xml select * from ACCOUNT ...

    程序员常见的WEB安全漏洞2022优秀文档.pptx

    为了防范SQL注入攻击,我们可以采取一些措施,例如避免字符串拼SQL,完全使用参数化查询,将单引号字符取代为连续2个单引号字符,利用框架的防SQL注入功能。 在iBatis中,我们可以使用#代替$,避免使用$,若不能...

    程序员常见的WEB安全漏洞.pptx

    2. **替换敏感字符**:单引号通常被替换为两个连续的单引号,防止被解析为字符串结束符。 3. **利用框架功能**:iBatis中,使用`#`而不是`$`来绑定变量,以减少注入风险。如果无法避免使用`$`,应添加元数据标识以...

    MyBatis-3.0.3-User-Guide.pdf

    #### 一、关于文档代码复制的注意事项 在阅读和使用本文档时,请注意代码示例的特殊字符问题。现代文字处理工具虽然使得文本更加美观易读,但也可能对代码示例造成破坏,例如将普通字符转换为具有特定格式的字符(如...

    mybatis入门

    2. **前身IBatis**:MyBatis的前身是IBatis,后来经过重构和发展成为现在的MyBatis。 3. **轻量级**:相比于其他ORM框架如Hibernate,MyBatis更加轻量级,更适合对性能有较高要求的应用场景。 4. **灵活性**:...

    国能日新公司的java开发面试题

    - **float类型**:是一个32位的单精度浮点数,而非64位的Unicode字符。 - **long类型**:是一个64位的有符号整数值。 #### 2. 方法重载 - 重载意味着在同一类中,方法名相同但参数列表不同的多个方法。例如,`...

Global site tag (gtag.js) - Google Analytics