摘要: ListableBeanFactory#getBeanNamesForType(Class<?>) 这个方法的逻辑在对 FactoryBean 进行判断时,会使用 FactoryBean 的生成的对象的类型进行判断 BD 的属性数据 AttributeAccessor.getAttribute(Fa 阅读全文
posted @ 2024-04-16 22:46 YangDanMua 阅读(7) 评论(0) 推荐(0) 编辑
摘要: addInterceptor 3个地方 XML 解析的 SqlSessionFactoryBean: 生成 SqlSession 的 FactoryBean PageHelperAutoConfiguration: 分页助手的自动配置 SqlSessionFactoryBean 发现现在都没有将他作 阅读全文
posted @ 2024-04-16 22:45 YangDanMua 阅读(6) 评论(0) 推荐(0) 编辑
摘要: MyBatis 插件 MyBatis 的插件实际上就是 Interceptor,拦截器,拦截并重写 SQL Interceptor: 拦截器 InterceptorChain: 拦截器链 Invocation: 封装 Object.method(args),反射调用 Plugin: JDK 代理处理 阅读全文
posted @ 2024-04-16 22:45 YangDanMua 阅读(5) 评论(0) 推荐(0) 编辑
摘要: DefaultSqlSession 这个就不说了,SQL 执行是调用执行器 Executor 执行 SqlSessionTemplate 构造函数,虽然没有立即创建 SqlSession 传入代理拦截器 SqlSessionInterceptor,但是拦截器是一个实例内部类,可以访问到 SqlSes 阅读全文
posted @ 2024-04-16 22:44 YangDanMua 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 代码 // 使用流程 // 1. 读取配置文件 InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); // 2. 创建 SqlSessionFactory 工厂 SqlSessionFactory 阅读全文
posted @ 2024-04-16 22:43 YangDanMua 阅读(6) 评论(0) 推荐(0) 编辑
摘要: XML 解析时对 environment 节点的处理 TransactionFactory txFactory = transactionManagerElement(child.evalNode("transactionManager")); DataSourceFactory dsFactory 阅读全文
posted @ 2024-04-16 22:43 YangDanMua 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 配置 <environments default="default"> <environment id="default"> <!-- 事务类型 --> <transactionManager type="JDBC"/> <!-- 数据源类型 --> <dataSource type="POOLED 阅读全文
posted @ 2024-04-16 22:42 YangDanMua 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 别名 TypeAliasRegistry 默认注册了很多别名,构造函数注册的 public TypeAliasRegistry() { registerAlias("string", String.class); registerAlias("byte", Byte.class); register 阅读全文
posted @ 2024-04-16 22:40 YangDanMua 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 数据库 DDL CREATE DATABASE `mybatis_demo01`; -- mybatis_demo01.`user` definition CREATE TABLE `user` ( `id` int NOT NULL AUTO_INCREMENT, `username` varch 阅读全文
posted @ 2024-04-16 22:37 YangDanMua 阅读(4) 评论(0) 推荐(0) 编辑