`

iBatis延迟加载

阅读更多
iBatis弄延迟加载的方式与hibernate如出一辙,都是使用cglib生成实体类的子类动态代理。

以一个比较典型的M:1的关系来说举例子

部门类
public class Department {

	private Integer id;
	private String name;
	private String location;

	// 构造方法,getter,setter
}


员工类
public class Employee {

	private Integer id;
	private String name;
	private String title;
	private Department department;
	
	// 构造方法,getter,setter
}


在员工类的映射文件中
<resultMap class="Employee" id="EmployeeLazy">
	<result property="id" />
	<result property="name" />
	<result property="title" />
	<result property="department" column="_dep_id" select="department.findDepartmentById" />
</resultMap>


SqlMapConfig.xml中把延迟加载功能打开。
<settings
	enhancementEnabled="true"
	lazyLoadingEnabled="true"
	useStatementNamespaces="true"
/>
分享到:
评论

相关推荐

    iBatis资料 语法

    延迟加载(Lazy Loading)是iBatis的一种优化策略,只在真正需要时才加载关联的对象,减少了不必要的数据库交互。一对多或多对一关系的处理是对象关系映射(ORM)中的常见问题,iBatis提供了优雅的方式来管理这些...

    iBatis入门与精通

    `ibatis 延迟加载、对多关系、缓存的测试.mht`则深入探讨了iBatis的高级特性。延迟加载(Lazy Loading)允许在需要时才加载关联对象,可以有效提高性能。对多关系(One-to-Many, Many-to-One)的处理是ORM(对象关系...

    mybatis3--延迟加载,缓存

    在 MyBatis 中,延迟加载(Lazy Loading)和缓存是两个非常重要的特性,它们对于提升应用程序性能和减少数据库访问有着显著作用。 **延迟加载(Lazy Loading)** 延迟加载是一种设计模式,它在对象被首次请求时才...

    ibatis开发指南 经典教材

    此外,ibatis还支持延迟加载,即只有在真正需要时才加载关联对象,从而避免了不必要的数据加载和内存消耗。 ### ibatis高级特性 #### 动态SQL ibatis的一个强大特性是动态SQL。它允许开发者在运行时根据不同的...

    iBatis文档\ibatis.doc

    iBatis提供了延迟加载(Lazy Loading)功能,允许在真正需要关联数据时才执行对应的SQL。在`resultMap`中开启延迟加载: ```xml ``` #### 动态映射 动态SQL让开发者可以根据条件动态构造SQL语句,使用`if`, `...

    ibatis2.x 详细介绍

    - **延迟加载**:Ibatis允许延迟加载关联的对象,直到真正需要时才执行相关的查询,提高性能。 - **动态映射**:使用动态SQL,可以在XML映射文件中编写条件语句,根据传入参数动态生成SQL,增加了灵活性。 - **事务...

    ibatis开发指南_夏昕

    - **延迟加载**:为了提高性能,ibatis支持延迟加载特性,即只有在真正需要时才加载关联的数据。 - **动态映射**:允许在运行时动态生成SQL语句,这非常适用于那些查询条件不确定或需要高度定制化查询的情况。 ####...

    ibatis Guide

    - **延迟加载**:对于一对多和一对一关联,可以启用延迟加载,仅在真正需要关联对象时才加载,提高效率。 #### ibatis高级特性 - **动态映射**:ibatis允许在SQL语句中使用动态参数,如`if`、`choose`、`foreach`...

    ibatis 配置文件详解

    2. **settings**:提供了一系列的开关,用于开启或关闭某些功能,如缓存的启用、延迟加载的开启等。 3. **typeAliases**:类型别名的配置,用于简化Java类型的引用。 4. **typeHandlers**:类型处理器,用于处理...

    iBATIS 2.0 开发指南

    - **延迟加载**:利用 `&lt;association&gt;` 元素的 `fetchType` 属性实现延迟加载,以提高性能。 - **动态映射**:使用 `&lt;if&gt;`、`&lt;choose&gt;`、`&lt;foreach&gt;` 等元素构建动态 SQL 语句,提高代码复用性和灵活性。 #### ...

    夏昕-ibatis 开发指南pdf版

    接着,书中还会介绍iBatis的高级特性,如结果映射、关联查询、延迟加载等。结果映射允许开发者将数据库查询结果自动映射到Java对象,简化了数据处理的过程。而关联查询则能处理一对一、一对多、多对多的关系,使得...

    ibatis资料大全

    - **延迟加载**:延迟加载是在需要时才加载关联对象的数据,从而减少初始查询时的数据量。 - **动态映射**:支持在运行时动态构建SQL语句,提高了代码的灵活性。 - **事务管理**: - **基于JDBC的事务管理机制**:...

    IBatis.net-IBatis.DataAccess.1.9.2/IBatis.DataMapper.1.6.2

    4. **性能优化**:通过延迟加载(Lazy Loading)和预加载(Eager Loading)策略,优化数据加载性能。 5. **日志集成**:允许开发者集成各种日志框架,以便记录数据库操作信息,便于调试和监控。 **总结** IBatis...

    夏昕-ibatis_开发指南

    为了进一步提升性能,ibatis还支持延迟加载(Lazy Loading)。这意味着只有在真正需要时才会加载关联的数据,避免了不必要的数据传输和内存占用,特别是在处理大量关联数据时,这一特性尤为重要。 #### 动态映射 ...

    ibatis最新最全开发指南

    延迟加载(Lazy Loading)功能可以在需要时才加载关联的数据,以提高性能。动态映射允许你在运行时根据 Java 对象的状态动态生成 SQL 语句,增强了 SQL 语句的可扩展性。 在事务管理方面,Ibatis 支持基于 JDBC 和 ...

    iBATIS操作Oracle CLOB数据

    6. **性能优化**:处理CLOB数据时,注意避免一次性加载整个CLOB内容到内存中,可以分块读取或延迟加载。 7. **事务管理**:由于CLOB操作可能会涉及到较大的数据量,确保正确设置事务的隔离级别和回滚规则,以防止...

    ibatis快速入门(仅需两天)绝对经典,值得收藏.doc

    1. **Settings**:用于定义ibatis运行时的行为参数,如缓存管理、字节码增强、延迟加载等。例如,`cacheModelsEnabled`用于控制是否启用缓存机制,这对于提高查询效率尤为重要;`lazyLoadingEnabled`则决定了关联...

    ibatis in action 电子书(pdf)

    8. **高级话题**:涵盖与iBATIS相关的高级主题,如批处理、延迟加载、自定义类型处理器、插件扩展等,提升开发者对iBATIS框架的深度理解。 9. **最佳实践**:提供实用的项目开发建议,如如何设计合理的映射文件结构...

    ibatis 框架原理实现

    同时,Ibatis也支持结果集的分页和延迟加载,进一步提升性能。 9. **插件扩展**: Ibatis允许开发者自定义插件,通过拦截器模式增强SqlSession或Executor的行为,例如日志记录、性能分析等。 这个自己编写的...

Global site tag (gtag.js) - Google Analytics