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学习笔记以及使用心得
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 概念与特点 **1.1 iBatis 定义** - **iBatis** 是一个基于 Java 的开源持久层框架,它专注于 SQL 映射,提供了一种将对象与数据库交互过程中的 SQL 语句进行分离的...
在IT行业中,Ibatis是一个非常重要的持久层框架,它提供了SQL映射功能,使得开发者能够更灵活地控制...对于深入学习,还可以研究Ibatis的高级特性,如结果映射的复杂配置、缓存机制以及MyBatis Generator等工具的使用。
iBATIS 是一款著名的Java持久层框架,它与Hibernate等全自动化ORM解决方案不同,提供了一种半自动化的处理方式,让开发者对SQL拥有更大的控制权。在iBATIS中,主要包括SQL Maps和Data Access Objects(DAO)两个核心...
通过本文的学习笔记,我们可以了解到 iBatis 在简化数据库访问的同时提供了足够的灵活性。尽管 iBatis 相比 Hibernate 在自动化程度上略显不足,但对于需要高度定制 SQL 查询的场景来说,iBatis 的优势十分明显。...
### IBATIS学习笔记知识点详解 #### 一、IBATIS简介 iBatis是一个用于Java的数据持久化框架,类似于Hibernate、JDO和EJB等技术。它的主要特点是将对象映射为SQL语句,这使得开发人员可以更加灵活地控制SQL的执行,...
Ibatis,一个轻量级的Java持久层框架,是许多开发者在处理数据库操作时的首选工具。...通过深入学习和实践,你不仅可以掌握Ibatis,还能更好地理解数据库与应用程序之间的交互,提升自己的开发技能。
通过本篇学习笔记,我们深入了解了 ibatis 的配置文件结构、常用的操作方式以及一些高级特性如命名空间和缓存机制。这些知识点对于初学者来说至关重要,它们不仅有助于快速掌握 ibatis 的使用方法,还能够帮助开发者...
Ibatis 是一款轻量级的Java持久层框架,它与Hibernate等ORM框架不同,Ibatis 提供了更加灵活的SQL映射机制,允许开发者直接编写自定义的SQL语句,而不像Hibernate那样进行全封装。这种设计使得Ibatis在处理复杂的SQL...
本文将详细介绍 ibatis 的一些高级特性,包括数据关联、延迟加载、动态映射以及事务管理等方面的知识点。 #### 二、数据关联 在实际的应用开发中,经常需要处理数据之间的关联关系,例如一对多或一对一的关系。...
在iBATIS 3.2版本与2.3版本之间存在一些显著的变化。首先,iBATIS 3.2引入了更现代的注解支持,使得在Java类和接口中可以直接使用注解来声明数据库操作,简化了XML配置。此外,3.2版本还增强了对动态SQL的支持,使得...
《iBatis学习资料汇总》 ...通过学习和实践,我们可以充分利用iBatis的特性,提高项目开发效率,降低维护成本。同时,深入研究iBatis的源码,不仅可以提升个人技能,也为解决实际问题提供了有力的支持。
IBatis3.0学习IBatis3.0学习IBatis3.0学习IBatis3.0学习IBatis3.0学习IBatis3.0学习IBatis3.0学习
Ibatis提供了映射机制,使得Java对象与数据库表之间的映射变得更加简单。 二、Ibatis工作原理 Ibatis通过SqlSessionFactory构建SqlSession,SqlSession是执行SQL的主要接口。在配置文件中,开发者可以定义数据源、...