JavaEE互联网轻量级框架整合开发笔记:mybatis中的fetchType属性怎么使用

本文介绍了mybatis中fetchType属性的使用,用于在懒加载机制下,根据需求选择是否立即加载关联数据。fetchType有两个值:eager(立即加载)和lazy(延迟加载)。通过配置fetchType,可以在查询用户时同时加载订单信息,解决了N+1问题。文章还提供了xml配置示例和测试说明。
摘要由CSDN通过智能技术生成

目录

懒加载:

fetchType

上一篇我们说了如何使用mybatis中的懒加载机制解决级联造成的N+1问题,但同时也有一个问题,我们没有办法去个性化的编写代码。

懒加载:

lazyLoadingEnabled为true时,所有的关联对象都不会加载

aggressiveLazyLoading为false时,只有当调用具有懒加载对象的属性时才会加载

不理解的话就先看这篇如何利用mybatis的懒加载机制解决级联造成的N+1问题_m0_56058975的博客-CSDN博客

例如现在有用户,订单,产品三张表,我们配置懒加载之后,现在执行查询用户的属性时,订单和产品都不会被加载,但是现在我们有个需求,在查询用户属性的时候要打订单也同时查询出来,这就需要用到mybatis中的fetchType属性了。

fetchType

fetchType有两个值:

1.eager,获得当前POJO后立即加载对应的数据。
2.lazy,获得当前POJO后延迟加载对应的数据。

但是需要注意的是fetchType只用在级联用使用,一对一(association),一对多(collection),鉴别器(

Java EE轻量级框架整合开发扫描基包是指在Java EE开发使用轻量级框架(如Spring Framework、Hibernate、MyBatis等)时,对应用程序使用的基础包(通常是模型类所在的包)进行自动扫描,以便框架能够自动发现并加载这些类,从而简化配置和管理。 在Spring Framework,这种自动扫描通常通过注解来实现,比如使用`@ComponentScan`注解或者在配置类定义`ComponentScan` Bean。这样Spring容器在启动时会遍历指定的包及其子包,查找带有特定注解(如`@Component`、`@Service`、`@Repository`、`@Controller`等)的类,并将它们注册为Spring管理的Bean。 实现扫描基包的步骤通常包括: 1. 添加扫描注解:在Spring的配置类(带有`@Configuration`注解)上添加`@ComponentScan`注解,并指定要扫描的基包路径。 ```java @Configuration @ComponentScan(basePackages = {"com.example.project"}) public class AppConfig { } ``` 2. 使用注解标识组件:在各个类上使用相应的Spring注解,如`@Service`在服务层、`@Repository`在数据访问层、`@Controller`在控制器层等。 ```java @Service public class MyService { } ``` 3. 启动Spring容器:通过Spring的上下文启动类或者使用注解`@SpringBootApplication`(在Spring Boot项目)来启动Spring应用程序上下文。 ```java public class Application { public static void main(String[] args) { SpringApplication.run(AppConfig.class, args); } } ``` 使用扫描基包的方式,可以大大减少XML配置或Java配置显式声明Bean的工作量,使代码更加简洁,并且有利于维护和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值