关于mybatis延迟加载总结
2014-10-20 11:32
453 查看
关于延迟加载设置应该有很多地方都有说明这里也啰嗦一下,在mybatis配置文件中加入
这里配置了一般都可以进行延迟加载,啥时候加载呢,一般是在我们调用对象的get方法是才进行加载,
下面对一些细节设置进行一个说明
比如我需要知道部门的用户 我们会在部门对象中添加
private List<User> roleUsers;
在该对象对应的mybatis mapper文件中resultMap中添加
<collection property="roleUsers" column="ID" javaType="ArrayList" ofType="User"
select=".dao.User.getByRoleId"></collection>
在查询select中有个resultType 和resultMap 这里需要用resultMap ,用resultType 的话roleUsers会为空
一般在Role对象中在roleUsers上加@Transient注释(不做持久化),如果roleUser也要在前台输出,则在数据转成json的时候自动调用get方法,会加载roleUsers数据,如果不需要加载roleUsers数据则在该属性上加@JSONField(serialize=false)注释就可以;
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="mapUnderscoreToCamelCase" value="true" /> <setting name="lazyLoadingEnabled" value="true"/> <setting name="aggressiveLazyLoading" value="false"/> <!-- 按需加载对象 --> </settings> </configuration>
这里配置了一般都可以进行延迟加载,啥时候加载呢,一般是在我们调用对象的get方法是才进行加载,
下面对一些细节设置进行一个说明
比如我需要知道部门的用户 我们会在部门对象中添加
private List<User> roleUsers;
在该对象对应的mybatis mapper文件中resultMap中添加
<collection property="roleUsers" column="ID" javaType="ArrayList" ofType="User"
select=".dao.User.getByRoleId"></collection>
在查询select中有个resultType 和resultMap 这里需要用resultMap ,用resultType 的话roleUsers会为空
一般在Role对象中在roleUsers上加@Transient注释(不做持久化),如果roleUser也要在前台输出,则在数据转成json的时候自动调用get方法,会加载roleUsers数据,如果不需要加载roleUsers数据则在该属性上加@JSONField(serialize=false)注释就可以;
相关文章推荐
- 转:关于Hibernate一对一不能延迟加载的总结
- 关于Hibernate一对一延迟加载的总结
- 关于延迟加载的方法总结
- Mybatis学习总结(八)——延迟加载
- 关于Hibernate一对一不能延迟加载的总结
- 关于Hibernate一对一不能延迟加载的总结
- 关于图片是否能延迟加载的问题
- Hibernate集合类型的延迟加载学习及总结....
- 关于图片延迟加载技术-ImageLazyLoad
- 关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) )
- 关于Classloader的总结!loadClass的分析和加载细节的分析
- 关于LINQ中的延迟加载
- 关于ASP.NET动态加载控件的几点实用总结
- Hibernate懒加载/延迟加载机制总结
- 关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) )
- 关于IE 延迟加载activex和插件未激活问题。
- 关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) )
- 关于VS的延迟加载dll的使用和理解
- 主题:关于hibernate延迟加载的错误解决方案
- LinqToSQL 关于延迟加载