MyBatis 执行流程及源码解析,完整PDF

本文深入解析MyBatis的执行流程,从配置SqlSessionFactoryBean开始,探讨@MapperScan的作用,以及如何生成Mapper的代理对象。在Spring与MyBatis整合中,SqlSessionFactoryBean用于创建SqlSessionFactory,@MapperScan注解扫描Mapper接口,生成代理对象。代理对象的创建涉及到Bean的初始化、Mapper接口的加载定义以及XML文件的解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@Service(“studentService”)

public class StudentServiceImpl implements StudentService {

@Autowired

StudentMapper studentMapper;

@Override

public List<Map<String, Object>> query() {

return studentMapper.select();

}

}

向Service中注入这个Mapper并调用时,你知道这时注入的是什么吗?

通过调试,可以知道这时实际的studentMapper是一个类型为MapperProxy的代理对象,下面将从myabtis环境初始化开始,具体分析代理对象的产生过程。

一、配置SqlSessionFactoryBean 时都做了什么?

在进行spring和mybatis整合时,会用xml或者注解的方式去配置一个SqlSessionFactoryBean,本文中以注解方式为例:

@Bean

public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource){

SqlSessionFactoryBean sqlSessionFactoryBean=new SqlSessionFacto

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值