`
wangdf_jee
  • 浏览: 114695 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ibatis $ # 区别

阅读更多
1.#是把传入的数据当作字符串,如#field#传入的是id,则sql语句生成是这样,order by "id",这当然会报错..

2.$传入的数据直接生成在sql里,如$field$传入的是id,则sql语句生成是这样,order by id, 这就对了. 如:

    <isNotNull property="orderBy"><![CDATA[ order by $orderBy$ ]]>
        <isNotNull property="descOrAsc"><![CDATA[ $descOrAsc$ ]]></isNotNull>
    </isNotNull>


3.#方式能够很大程度防止sql注入.

4.$方式无法方式sql注入.

5.$方式一般用于传入数据库对象.例如传入表名.

6.一般能用#的就别用$

附件是MyBatis文档的解释
  • 大小: 68.1 KB
分享到:
评论

相关推荐

    ibatis中 $ 于 # 的 区别

    ### ibatis中 $ 与 # 的区别 在ibatis(现称为MyBatis)框架中,$ 和 # 是两种不同的动态SQL元素标记,用于处理参数传递的问题。它们各自有着独特的功能和应用场景,对于理解这两者的差异是十分重要的,因为这会...

    Ibatis资料ibatai sql map iBATIS使用$和#的一些理解

    接下来,我们讨论一下`$`和`#`的区别。通常情况下,`#`被用来防止SQL注入,它会将变量转化为预编译语句中的占位符。例如: ```sql select * from member where id = #id# ``` 当在Java代码中设置`id`为某个值时,...

    ibatis中输入输出各种类型的参数分析及#与$区别

    ### ibatis中输入输出各种类型的参数分析及#与$区别 #### iBatis简介与特点 iBatis作为一款轻量级的Java持久层框架,以其简洁、灵活的特点,在众多框架中占据一席之地。相较于知名的Hibernate框架,iBatis在实现上...

    myBatis和ibatis的区别

    ### myBatis与ibatis的区别 #### 一、概述 myBatis与ibatis是两款在Java领域中非常流行的持久层框架,它们均基于SQL映射机制,为开发者提供了便捷的方式来处理数据库操作。两者间的关系密切,ibatis是myBatis的...

    iBatis和Hibernate的区别

    ### iBatis与Hibernate的主要区别 #### 一、概述 iBatis与Hibernate都是Java领域内流行的ORM(Object-Relational Mapping,对象关系映射)框架,用于简化Java应用程序与数据库之间的交互。尽管它们有着相似的目标,...

    J2EE iBatis 概述

    #### 二、iBatis与Hibernate的区别 ##### 2.1 ORM实现方式 - **iBatis**:半自动化的ORM实现。iBatis关注于SQL与Java对象之间的映射,而不是像Hibernate那样自动生成SQL。 - **Hibernate**:全自动化ORM实现。...

    选用ibatis和hibernate的区别

    **选用Ibatis与Hibernate的区别**: 1. **灵活性**:Ibatis允许直接编写SQL,适合复杂的查询和性能优化。Hibernate则倾向于自动化,可能在复杂查询方面不够灵活。 2. **学习曲线**:Hibernate提供了全套的ORM解决...

    ibatis-in-action

    - **缓存机制**:介绍iBATIS中的缓存机制,包括一级缓存和二级缓存的区别及使用方法。 - **调优技巧**:提供一系列性能优化建议,如合理使用缓存、优化SQL语句等。 #### 3.2 数据访问对象 - **DAO模式**:阐述DAO...

    Ibatis视频下载

    Ibatis的#{}和${}的区别,以及使用注解进行映射的方法也会在此部分讲解。 5. **事务管理**:学习如何在Ibatis中配置和管理事务,包括手动和自动提交,以及事务的隔离级别。 6. **高级特性**:视频可能还会涵盖一些...

    ibatis拼接字符串

    虽然 iBatis 在某些方面与 Hibernate 类似,但它们之间的主要区别在于 iBatis 提供了更细粒度的 SQL 控制能力,这使得 iBatis 在复杂查询或性能敏感的应用场景中更具优势。 ### 二、动态 SQL 的概念 在实际应用中...

    ibatis开发指南

    ibatis与Hibernate、Apache OJB等其他ORM框架的主要区别在于其半自动化的特点。对于需要精细控制SQL语句的应用场景,ibatis提供了更灵活的选择。例如,在以下情况下,ibatis可能是更好的选择: - 当数据库表结构...

    ibatis和hibernate的区别

    【ibatis和Hibernate的区别】 在Java开发中,ibatis和Hibernate都是常见的对象关系映射(ORM)框架,它们简化了数据库操作,将Java对象与数据库表之间的映射关系抽象出来,使得开发人员可以使用面向对象的方式处理...

    ibatis2.rar

    5. 执行器Executor:简单执行器和复用执行器的区别,以及它们在不同场景下的选择。 6. 缓存机制:理解iBATIS的一级缓存和二级缓存,提高数据访问效率。 此外,压缩包中的"ibatis-2.3.0.677.jar"是iBATIS的核心库,...

    iBATIS缓存介绍

    ##### 2.3 iBATIS高速缓存和传统O/RM高速缓存的区别 iBATIS高速缓存相较于传统的对象关系映射(ORM)工具的缓存机制,更侧重于简单性和灵活性。例如,iBATIS允许开发者自由地控制缓存的配置,而传统ORM工具可能会有...

    mysql,jdbc详解,与ibatis对比。批量查询,分页处理。

    Statement与PreparedStatement的区别 - **Statement**: 可以执行静态SQL语句,但不支持参数化查询,每次执行都需要重新编译。 - **PreparedStatement**: 支持参数化查询,通过“?”作为占位符,预编译后可重复使用...

    ibatis和hibernate的简单介绍

    #### 三、ibatis与Hibernate的区别 1. **设计理念**: - **ibatis**:强调对SQL语句的控制,更适合对性能有较高要求的应用。 - **Hibernate**:更注重对象模型的映射,适合于需要快速开发的应用。 2. **学习曲线...

    关于Ibatis的jar包

    - **参数映射和结果映射**:讲解如何处理输入参数和输出结果,包括使用#{property}和${property}的区别,以及自动映射和自定义映射。 - **Executor执行器**:简述不同类型的Executor(SimpleExecutor、...

    iBatis2.0文档

    #### 九、iBatis与Hibernate/OJB的区别 - **ORM 封装程度**:iBatis 提供了更灵活的 SQL 语句编写方式,而 Hibernate/OJB 则更加自动化。 - **适用场景**:iBatis 更适合需要高度定制 SQL 语句的复杂查询场景;...

Global site tag (gtag.js) - Google Analytics