MyBatis如何选择数据源
简介
当我们自定义数据源 DynamicDataSource
, 时, MyBatis是如何使用这个数据源, 并且建立连接的
Mybatis调用数据源时序图
绿色部分为我们业务实现代码。
主流程
在执行器 Executor中生成 Statement, 首先建立连接, 事务管理器中生成连接, 通过事务管理器检查是否为事务,
SimpleExecutor
生成
Statement
private Statement prepareStatement(StatementHandler handler, Log statementLog) throws SQLException {
Statement stmt;
//获取连接
Connection connection = getConnection(statementLog);
stmt = handler.prepare(connection, transaction.getTim