`
xdy2008
  • 浏览: 54216 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ibatis笔记

阅读更多
关键字: ibatis
年后就要去淘宝实习了,趁着还有段时间先学习下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.一般能用#的就别用$
分享到:
评论

相关推荐

    iBatis2学习笔记

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

    ibatis学习笔记

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

    IBatis学习笔记以及使用心得

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

    ibatis 学习笔记

    iBATIS 是一款著名的Java持久层框架,它与Hibernate等全自动化ORM解决方案不同,提供了一种半自动化的处理方式,让开发者对SQL拥有更大的控制权。在iBATIS中,主要包括SQL Maps和Data Access Objects(DAO)两个核心...

    Ibatis 练习Demo和笔记

    本练习Demo和笔记旨在帮助初学者快速掌握Ibatis的基本用法和核心概念。 【Ibatis 的主要组件】 1. **SqlSessionFactoryBuilder**:构建SqlSessionFactory的工具类,通常在应用启动时创建一次。 2. **...

    ibatis学习笔记.txt

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

    ibatis学习笔记(一)

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

    持久层框架ibatis学习笔记

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

    ibatis教程学习笔记

    ### ibatis教程学习笔记 #### 一、ibatis简介与特点 ibatis 是一个基于 Java 的持久层框架,它提供了一种将 SQL 映射到 Java 对象的方式,简化了 JDBC 的复杂操作。ibatis 通过 XML 配置文件或者注解的形式来描述 ...

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

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

    IBATIS学习笔记

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

    Ibatis的学习笔记

    Ibatis 是一款轻量级的Java持久层框架,它与Hibernate等ORM框架不同,Ibatis 提供了更加灵活的SQL映射机制,允许开发者直接编写自定义的SQL语句,而不像Hibernate那样进行全封装。这种设计使得Ibatis在处理复杂的SQL...

    ibatis数据库笔记

    根据提供的标题、描述、标签及部分内容,我们可以整理出与ibatis相关的知识点,下面将详细解释这些知识点。 ### ibatis简介 ibatis是一个基于Java的持久层框架,它可以帮助开发者更轻松地实现对象关系映射(ORM)...

Global site tag (gtag.js) - Google Analytics