`
lemo
  • 浏览: 91738 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

请您先登录,才能继续操作

IBatis映射文件学习

阅读更多
一个SQL Map XML映射文件可以包含任意多个Mapped Statement, Parameter Map 和Result Map.按照它们之间的逻辑关系,为您的应用合理地组织Mapped Statement, Parameter Map 和Result Map.

一 typeAlias 节点


    <typeAlias> 节点让您为一个通常较长的、全限定类名指定一个较短的别名.

    <typeAlias alias=”shortname”  type=”com.long.class.path.Class”/>

  例如:

<typeAlias alias="user" type="com.ibatis.db.User"/>

二 Mapped Statements

SQL Map的核心概念是Mapped Statement.否Mapped Statement可以使用任意的SQL语句,并拥有Parameter Map(输入) 和Result Map(输出).如果是简单情况, Mapped Statement可以使用JAVA类来作为Parameter和Result. Mapped Statement也可以使用缓存模型,在内存中缓存常用的数据. Mapped Statement的结构如下所示:

<statement id =”statementName”

     [parameterClass=”some.class.Name”]

     [resultclass=”some.class.Name”]

     [parameterMap=”nameOfParameterMap”]

     [resultMap=”nameOfResultMap”]

     [cacheModel=”nameOfCache”]  >

Select * from t_user where id =[?|#propertyName#]

order by [$simpleDynamic$]

</statement>

在上面的表达式中,括号[]里的部分是可选的属性,并具在某些情况下只有特定的组合才是合法的.

1)Statements节点
<statement>节点是个通用声明,可以用于任何类型的SQL语句。通常,使用具体的statement类型是个好主意。具体statement类型提供了更直观的XML DTD,并拥有某些<statement>节点没有的特性.

2)Sql 语句

SQL显然是Mapped Statement中最重要的部分,可以使用对于数据库和JDBC DRIVER 合法的任意SQL语句.只要在JDBC DRIVER支持,可能使用任意的函数,甚至是多条语句.因为SQL语句是嵌在XML文档中的,因此有些特殊的字符不能直接使用,例如大于号和小于号(<>).幸运的是,解决的办法很简单,只需将包含特殊字符的SQL语句放在XML的CDATA区里面就可以了.例如:

<statement id = "getUserArrayById" parameterClass="int"
  
        resultClass="user">
  
       <![CDATA[
  
          SELECT * FROM T_USER WHERE id > #value#
  
          group by id
 
       ]]>
 
 </statement>



在DAO里
 /*
      * 
      * @see com.ibatis.dao.UserDao#findUserArrayById(java.lang.Integer)
      */
      @Override
      public List<User> findUserArrayById (Integer userId) throws Exception {
          init();
          List<User> list = sqlMap.queryForList("getUserArrayById", userId);
         return list;
    }


分享到:
评论

相关推荐

    ibatis SQL映射文件、DAO、model自动生成工具源码

    Ibatis 是一款轻量级的Java持久层框架,它提供了SQL映射文件和基于XML或注解的SQL语句配置,使得开发者可以更加灵活地控制SQL的编写,从而避免了传统的JDBC代码中的大量模板式代码。这个"ibatis SQL映射文件、DAO、...

    ibatis学习文档

    本文旨在深入解析iBATIS映射文件的基础概念及其重要性,为初学者构建一个清晰的学习路径。 ### iBATIS映射文件:核心中的核心 iBATIS映射文件(Data Map XML File)是iBATIS框架的灵魂所在,它允许开发者明确地...

    ibatis学习

    在"压缩包子文件的文件名称列表"中,只提到了"ibatis",这可能包含了一系列Ibatis相关的文件,比如配置文件(mybatis-config.xml)、映射文件(mapper.xml)、Java模型类、以及Ibatis的核心库依赖等。这些文件通常会...

    ibatis学习资料汇总

    1. 动态SQL:iBatis支持在XML映射文件中编写动态SQL,可以根据条件动态生成SQL语句,极大地增强了SQL的灵活性。 2. 参数映射:通过参数映射,iBatis可以自动将Java对象的属性值映射到SQL语句的参数,反之亦然,返回...

    ibatis用xml配置文件配置使用

    这使得你的映射文件更加灵活,减少了代码重复。 通过上述步骤,你可以在iBATIS中使用XML配置文件进行SQL操作。对于复杂场景,如多表联查、分页、存储过程等,你可以继续深入学习XML配置文件的高级用法,例如使用`...

    ibatis的dtd文件

    首先,`sql-map-2.dtd`是Ibatis的SQL映射文件的DTD,它规定了如何定义SQL语句、结果映射、参数映射等元素。例如,`&lt;select&gt;`标签用于定义一个查询语句,可以包含SQL语句和其返回的结果集映射;`&lt;insert&gt;`标签则用于...

    Ibatis.net学习和实例~

    5. **动态SQL**:Ibatis.net允许你在SQL映射文件中编写动态SQL,根据条件改变查询的结构,这在处理复杂的查询需求时非常有用。 接下来,我们关注"Ibatis.net实例"。通过提供的文件《IBatisNet开发使用小结.docx》和...

    struts+ ibatis上传下载文件

    1. **Struts1框架**:Struts1的核心是ActionServlet,它负责拦截HTTP请求,然后根据配置文件(struts-config.xml)中的映射规则转发到相应的Action类。在这个项目中,可能有专门处理文件上传和下载请求的Action,如`...

    ibatis.rar学习手册

    通过这份压缩包,你可以了解到iBatis的基本架构、映射文件的编写、动态SQL、事务管理以及如何与Spring框架集成等内容,进一步提升你的数据库操作和数据访问能力。 【标签】:“iBatis.rar” 这个标签明确了文件...

    Struts+Spring+iBATIS做的XML文件操作例子

    Struts、Spring 和 iBATIS 是...例如,一个简单的查询用户信息的XML映射文件可能如下所示: ```xml SELECT * FROM users WHERE id = #value# ``` 在Spring中,可以通过配置来集成iBATIS,如下所示: ```xml ...

    ibatis 的关系映射

    文件名如 "iBatis2学习笔记:多对多映射(双向).htm" 暗示了文档可能深入讲解了如何配置和使用双向多对多映射,而 "iBatis2学习笔记:SqlMap的配置总结(18条).htm" 可能提供了关于 iBatis 配置的全面概述。...

    Ibatis开发人员学习资料

    在提供的文件“ibatis 开发指南.pdf”中,读者可以深入学习到Ibatis的安装步骤、基本使用方法、动态SQL的编写、缓存机制、以及如何进行关联查询和一对一、一对多的映射。这些内容对于理解和掌握Ibatis的开发至关重要...

    ibatis配置文件

    指定了ibatis的SQL映射文件路径。每个映射文件中定义了一组SQL语句及其映射规则,是ibatis的核心组成部分之一。 #### 三、总结 通过对`sqlMapConfig.xml`文件的深入解析,我们不仅了解了ibatis配置文件的基本结构...

    Ibatis.net学习例子以及使用教程书

    1. **动态SQL**:Ibatis.net支持在XML映射文件中编写动态SQL,这意味着你可以根据条件来构建不同的SQL语句,极大地提高了代码的可维护性和灵活性。 2. **参数映射**:通过和元素,Ibatis.net可以将.NET对象的属性值...

    mysql数据库自动生成对应的java实体类和ibatis配置文件

    在IT行业中,数据库管理和开发是至关重要的环节,MySQL作为一款广泛应用的关系型数据库,与Java编程语言结合使用时,经常需要将数据库表结构映射到Java实体类,同时为ORM(对象关系映射)框架如iBatis准备配置文件。...

    ibatis学习完整实例,例子

    例如,使用SqlSessionFactoryBuilder创建SqlSessionFactory,然后SqlSessionFactory创建SqlSession,通过SqlSession执行SQL映射文件中的SQL语句。在"ibatistest2"项目中,你可以看到如何在业务逻辑中正确使用这些API...

    ibatis教程学习笔记

    ibatis 映射文件用于定义具体的 SQL 语句及其与 Java 对象之间的映射关系。 - **sqlMap 根元素**:指定命名空间。 - **typeAlias 元素**:用于给常用的类定义别名,方便在映射文件中使用。 - **select 元素**:定义...

    Ibatis

    1.1 SQL 映射文件:Ibatis 的核心是 SQL 映射文件,它定义了 SQL 语句、参数映射和结果集映射。XML 格式的映射文件允许开发者以清晰的方式编写 SQL,并将其配置到应用程序中。 1.2 映射元素:包括 `select`、`...

    根据表生成ibatis的sqlMap文件

    总的来说,"根据表生成iBatis的SQLMap文件"是一项实用的开发任务,结合JDBC的元数据功能,可以有效地自动化生成和管理数据库操作的映射文件,简化了开发流程。在实际项目中,这样的工具类是非常有价值的,值得开发者...

    iBATIS2.0学习总结

    iBATIS并不像Hibernate那样是完全的对象关系映射(ORM)框架,而是定位为SQL Mapping框架,它的核心功能是将SQL查询与Java对象之间进行映射。 在iBATIS2.0中,SQL查询被封装在XML文件中,这些XML文件被称为SQL Map ...

Global site tag (gtag.js) - Google Analytics