首页 > 其他分享 >MyBatis之一对多抓取策略

MyBatis之一对多抓取策略

时间:2023-06-04 14:57:41浏览次数:47  
标签:group 策略 fetchType 抓取 MyBatis 加载

MyBatis之一对多抓取策略

1.情况描述

如果只需要使用一方中的数据,而不使用多方数据的情况下,在执行过程中不需要发送查询多方的sql语句,需要配置抓取策略为懒加载。

2.适用情况

适用于一对多的方式一,通过多条sql查询情况。

3.抓取策略fetchType(映射文件collection集合映射标签内属性)

懒加载(延迟加载):fetchType="lazy"。
及时加载 (默认):fetchType="eager"。
  1. 实例演示
    以2.9 Mybatis——一对多集合映射——方式一的实例为例

GroupsMapper.xml配置抓取策略:

</select>
    <resultMap id="groupsResult" type="com.zx.pojo.Groups">
        <id column="gid" property="gid"></id>
        <result column="gname" property="gname"></result>
        <!--抓取策略
                懒加载:fetchType="lazy"
                及时加载:fetchType="eager"
        -->
        <collection fetchType="lazy" column="gid" property="users" select="com.zx.dao.UserDao.getUserByGid" ofType="com.zx.pojo.User"></collection>
 
    </resultMap>
</mapper>

运行测试:

    @Test
    public void getGroupByGidTest(){
        SqlSession sqlSession = MybatisUtil.getSqlSession();
        GroupsDao groupsDao = sqlSession.getMapper(GroupsDao.class);
		Groups group = groupsDao.getGroupByGid(2);
    	//查询分组的名称和id
    	System.out.println(group.getGname()+"----"+group.getGid());
    }

配置懒加载结果:

未配置或配置为及时加载结果:

标签:group,策略,fetchType,抓取,MyBatis,加载
From: https://www.cnblogs.com/jundong2177/p/17455647.html

相关文章

  • Spring 3.0.5+MyBatis3.0.4整合非完全例子
    基于注解的mybatis和spring整合:[url]http://huangmin001.iteye.com/blog/1185806[/url][color=red]这个文章说的很详细,很值得一看[/color].Maven+SpringMVC+Mybatis【绝非原创,单纯整理】【四】:[url]http://playgod1984.iteye.com/blog/984113[/ur......
  • 1. Mybatis 简介
    1.Mybatis历史MyBatis最初是Apache的一个开源项目iBatis,2010年6月这个项目由ApacheSoftwareFoundation迁移到了GoogleCode。随着开发团队转投GoogleCode旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github。iBatis一词来源于“internet”和“abatis”的组......
  • 【整套视频】spring / springmvc+mybatis
    Spring常用注解redis视频集合,看完这些别说不会redisday88-js对象.rarday87-项目部署和面试指导10.rarday86-订单流程09.rarday85-购物车和订单提交08.rarday84-单品页查询静态化07.rarday83-用户登录和个人中心06.rarday82-商品审核上架和首页筛选05.rarday81-商品添加04.rarday80-......
  • 1. Mybatis 简介
    1.Mybatis历史MyBatis最初是Apache的一个开源项目iBatis,2010年6月这个项目由ApacheSoftwareFoundation迁移到了GoogleCode。随着开发团队转投GoogleCode旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github。iBatis一词来源于“internet”和“abatis”的组合......
  • mybatis 多表关联查询
    MyBatis多表关联查询一对多查询一对多关联查询是指,在查询一方对象的时候,同时将其所关联的多方对象也都查询出来。.Ⅰ、多表连接(联合)查询这种方式只用到1条SQL语句。.注意:即使字段名与属性名相同,在<resultMap></resultMap>中也要写出它们的映射关系。因为框架......
  • HTTP Content-Security-Policy CSP策略
       CSP(ContentSecurityPolicy)内容安全策略是一个额外的安全层,用于检测并削弱某些特定类型的攻击,包括跨站脚本(XSS)和数据注入攻击等。无论是数据盗取,网站内容污染还是恶意软件分发,这些攻击都是主要的手段。   CSP被设计完全向后兼容,不支持CSP的浏览器也能与实现了......
  • 策略模式
    TheStrategydesignpatterndefinesafamiliyofalgorithms,encapsulateeachone,andmaketheminterchangeable.Thispatternletsthealgorithmvaryindependentlyfromclientthatuseit.策略模式定义一系列算法,封装它,使他们可以互换,这种设计模式使算法独立于客......
  • Map 接收 @RequestBody,Controller 层可以打印值,但是 mybatis 编译 SQL 语句显示 NULL
    mybatis#{}获取的key是否一致;前端发送请求类型是否与后端接口定义的请求类型一致;前端发送请求与接口请求的类型一致的情况下,检查post请求封装data时是否以get形式传递数据。我的问题是第三个,尤其是后端不报任何错误的情况下,第三种情况极有可能。我把axios.post......
  • mybatis批量更新和踩坑总结
    1.mybatis批量更新示例:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="com.cars.ic......
  • 大话设计模式之单例,策略,简单工厂
    基于实际面试题实现importjava.util.HashMap;importjava.util.Map;importjava.util.Random;/***用java设计一个机房环境监测系统的代码框架,机房有多种传感器,可以实时检测机房的温度、湿度、噪音等数据,*并把数据实时发送到监控中心,其中某项数据超过不健康阈值立即上......