`

ibatis 学习笔记

阅读更多
配置ibatis:
1) SqlMapConfig.xml
   
<setting>元素:

    1,lazyLoadingEnabled,延迟加载(lazy loading)是一种只加载必要信息而推迟加载其他未明确请求的数据的技术,也就是说,除非绝对需要,否则应用程序加载的数据越少越好。
    lazyLoadingEnabled配置项用于指定当存在相关联的已映射语句时,是否加载延迟加载。默认为true。

    2,cacheModelsEnabled,数据高速缓存是一种用于提高程序性能的技术,它基于近期使用过的数据网王很快又会被用到这样一种假设,将近期使用过的数据保存在内存中。为了充分利用高速缓存技术,还必须为已映射语句配置高速缓存模型。

    3,enhancementEnabled,用于指定是否使用cglib中那些已优化的类来提高延迟加载的性能。cglib是一个运行时代码生成库,ibatis可以使用它来优化其某些功能,例如JavaBean特性的设置。通识,它可以允许你延迟加载具体类,这样就不需要为了能够延迟加载某个类而特意创建一个相应的接口了。

    4,useStatementNamespaces,用于告诉ibatis,在引用已映射语句时,是否需要使用限定名(qualified name)。也就是说,当你定义了SQL映射,就用该SQL映射名来先顶这条已映射语句。假设有一个名为Account的SQL映射,它包含名为 insert,update,delete,以及getAll的已映射语句。那么当你想插入一个账户且在主配置文件启用了 useStatementNamespaces配置项时,就必须调用Account.insert对这个名字来调用这条映射语句。

    5,maxRequests(已废弃)
    6,maxSessions(已废弃)
    7,maxTransactions(已废弃)
  
2) SqlMap.xml
    使用<select>已映射语句

    ## 和 $$ 的区别:
    
    ## 会把占位符变换为一个预备语句参数 ?,然后ibatis再将这个这个参数的值设置后执行该预备语句。
    
    $$ 可以用来把值直接插入到SQL语句之中(在该SQL语句被转变为参数化语句之前)。不过容易造成SQL注入,另外过度使用还可能造成性能问题。

以下是网上找来的一些区别:  
1.#是把传入的数据当作字符串,如#field#传入的是id,则sql语句生成是这样,order by "id"

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

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

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

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

6.一般能用#的就别用$
分享到:
评论

相关推荐

    IBatis学习笔记以及使用心得

    IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得

    ibatis学习笔记

    ibatis学习笔记 ibatis学习笔记 ibatis学习笔记 ibatis学习笔记 ibatis学习笔记 ibatis学习笔记 ibatis学习笔记

    ibatis学习笔记.txt

    ### iBatis 学习笔记知识点总结 #### 一、iBatis 概念与特点 **1.1 iBatis 定义** - **iBatis** 是一个基于 Java 的开源持久层框架,它专注于 SQL 映射,提供了一种将对象与数据库交互过程中的 SQL 语句进行分离的...

    IBATIS学习笔记

    ### IBATIS学习笔记知识点详解 #### 一、IBATIS简介 iBatis是一个用于Java的数据持久化框架,类似于Hibernate、JDO和EJB等技术。它的主要特点是将对象映射为SQL语句,这使得开发人员可以更加灵活地控制SQL的执行,...

    ibatis学习笔记(一)

    这篇“ibatis学习笔记(一)”可能是博主对Ibatis基础概念、安装配置以及基本使用的介绍,让我们通过标签“源码”和“工具”来深入探讨Ibatis的相关知识。 首先,Ibatis是一个轻量级的Java ORM(对象关系映射)框架...

    iBatis学习笔记

    ### iBatis学习笔记 #### 一、iBatis简介 iBatis,又被称为SqlMap,是一款开源的“半自动”对象关系映射(Object Relational Mapping, ORM)框架,它通过将SQL语句与Java代码进行解耦,简化了数据库操作。与全自动...

    持久层框架ibatis学习笔记

    通过本文的学习笔记,我们可以了解到 iBatis 在简化数据库访问的同时提供了足够的灵活性。尽管 iBatis 相比 Hibernate 在自动化程度上略显不足,但对于需要高度定制 SQL 查询的场景来说,iBatis 的优势十分明显。...

    Ibatis学习笔记,文档,资源6合1

    这个压缩包集合了Ibatis的学习笔记、文档和相关资源,为想要深入理解和掌握Ibatis的人提供了一站式的自学材料。 Ibatis的核心概念是SQL Mapping,它允许开发者将SQL语句直接写在XML配置文件中,或者使用注解方式,...

    iBatis2学习笔记

    1.iBatis2学习笔记:基本原理和配置.doc 2.iBatis2学习笔记:与Spring2的整合.doc 3.iBatis2学习笔记:单表映射 .doc 4.iBatis2学习笔记:SqlMap的配置总结(18条).doc 5.iBatis2学习笔记:入参和返回值的问题.doc ...

Global site tag (gtag.js) - Google Analytics