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

ibatis学习笔记(四)——ibatis高级特性(表与表之间的关联)

阅读更多

ibatis高级特性,处理表与表之间的关联。ibatis中,提供了Statement嵌套支持,通过Statement嵌套,我们可以实现关联数据的操作。
    1、一对多关联:

<sqlMap namespace="User">
<typeAlias alias="user" type="com.ibatis.sample.User"/>
<typeAlias alias="address" type="com.ibatis.sample.Address"/>
<resultMap id="get-user-result" class="user">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="sex" column="sex"/>
<result property="addresses" column="id"
select="User.getAddressByUserId"/>
</resultMap>
<select id="getUsers"
parameterClass="java.lang.String"
resultMap="get-user-result">
<![CDATA[
select
id,name,
sex
from t_user
where id = #id#
]]>
</select>
<select id="getAddressByUserId"
parameterClass="int"
resultClass="address">
<![CDATA[
select
address,
zipcode
from t_address
where user_id = #userid#
]]>
</select>
</sqlMap>

 多表关联查询大量数据时建议采用存储过程来处理,来避免系统问题
    2、一对一表关联:

<resultMap id="get-user-result" class="user">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="sex" column="sex"/>
<result property="address" column="t_address.address"/>
<result property="zipCode" column="t_address.zipcode"/>
</resultMap>
<select id="getUsers"
parameterClass="java.lang.String"
resultMap="get-user-result">
<![CDATA[
select*
from t_user,t_address
where t_user.id=t_address.user_id
]]>
</select>

 在进行表关联的时候一定要注意:关联的2个pojo之间的联系,还有就是配置文件之间的关联。

分享到:
评论

相关推荐

    IBatis学习笔记以及使用心得

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

    iBatis2学习笔记

    3.iBatis2学习笔记:单表映射 .doc 4.iBatis2学习笔记:SqlMap的配置总结(18条).doc 5.iBatis2学习笔记:入参和返回值的问题.doc 6.iBatis2学习笔记:一对多映射(双向).doc 7.iBatis2学习笔记:多对多映射(双向)...

    ibatis学习笔记

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

    ibatis学习笔记.txt

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

    ibatis学习笔记(一)

    在IT行业中,Ibatis是一个非常重要的持久层框架,它提供了SQL映射功能,使得开发者能够更灵活地控制...对于深入学习,还可以研究Ibatis的高级特性,如结果映射的复杂配置、缓存机制以及MyBatis Generator等工具的使用。

    ibatis 学习笔记

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

    持久层框架ibatis学习笔记

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

    IBATIS学习笔记

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

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

    Ibatis,一个轻量级的Java持久层框架,是许多开发者在处理数据库操作时的首选工具。...通过深入学习和实践,你不仅可以掌握Ibatis,还能更好地理解数据库与应用程序之间的交互,提升自己的开发技能。

    ibatis教程学习笔记

    通过本篇学习笔记,我们深入了解了 ibatis 的配置文件结构、常用的操作方式以及一些高级特性如命名空间和缓存机制。这些知识点对于初学者来说至关重要,它们不仅有助于快速掌握 ibatis 的使用方法,还能够帮助开发者...

    Ibatis的学习笔记

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

    ibatis高级特性

    本文将详细介绍 ibatis 的一些高级特性,包括数据关联、延迟加载、动态映射以及事务管理等方面的知识点。 #### 二、数据关联 在实际的应用开发中,经常需要处理数据之间的关联关系,例如一对多或一对一的关系。...

    ibatis笔记

    在iBATIS 3.2版本与2.3版本之间存在一些显著的变化。首先,iBATIS 3.2引入了更现代的注解支持,使得在Java类和接口中可以直接使用注解来声明数据库操作,简化了XML配置。此外,3.2版本还增强了对动态SQL的支持,使得...

    ibatis学习资料汇总

    《iBatis学习资料汇总》 ...通过学习和实践,我们可以充分利用iBatis的特性,提高项目开发效率,降低维护成本。同时,深入研究iBatis的源码,不仅可以提升个人技能,也为解决实际问题提供了有力的支持。

    IBatis学习

    IBatis3.0学习IBatis3.0学习IBatis3.0学习IBatis3.0学习IBatis3.0学习IBatis3.0学习IBatis3.0学习

    ibatis学习资料及个人学习笔记,对初学者很有用

    Ibatis提供了映射机制,使得Java对象与数据库表之间的映射变得更加简单。 二、Ibatis工作原理 Ibatis通过SqlSessionFactory构建SqlSession,SqlSession是执行SQL的主要接口。在配置文件中,开发者可以定义数据源、...

Global site tag (gtag.js) - Google Analytics