
mybatis源码
ahua186186
这个作者很懒,什么都没留下…
展开
-
mybatis3源码核心类1--Configuration
最近没什么事,花了一周的时间把mybatis源码看完了,现自我总结一下,尽可能的用一句话总结,方便自己理解和回顾。 出名的框架几乎都是从初始化配置文件开始的,mybatis也一样。 mybatis的配置文件是通过工具类XMLConfigBuilder,XMLMapperBuilder,XMLStatementBuilder解析后都存在Configuration中 [code=...原创 2016-02-02 16:02:14 · 119 阅读 · 0 评论 -
mybatis3源码核心类2--MapperProxyFactory
1.MapperProxyFactory是Mapper接口的动态代理工厂类:经典的C/S架构同步访问模型的实现 方法代理类MapperProxy, 其他:MapperMethod [code="java"] /** * Copyright 2009-2015 the original author or authors. * * Licensed under th...原创 2016-02-02 16:08:05 · 156 阅读 · 0 评论 -
mybatis3源码核心类3--DefaultSqlSession
DefaultSqlSession任务:获取MappedStatement,然后委托给相关的executor处理。 DefaultSqlSession中executor属性的初始化,会根据Configuration中的cacheEnabled(二级缓存开关)来初始化 问题:mybatis是如何控制解决并发问题的。 解答:通过SqlSession管理员类SqlSessionManage...原创 2016-02-02 16:16:38 · 154 阅读 · 0 评论 -
mybatis3源码核心类4--BaseExecutor
1.update: 清除缓存,然后委托给StatementHandler实现类处理 [code="java"] @Override public int update(MappedStatement ms, Object parameter) throws SQLException { ErrorContext.instance().resource(ms.getReso...原创 2016-02-02 16:25:01 · 105 阅读 · 0 评论 -
mybatis3源码核心类5--SimpleStatementHandler
SimpleStatementHandler : 真正做业务处理的类。 如果想从ORM层实现分库分表,StatementHandler接口是最佳切入点。 (1)通过MappedStatement,DynamicSqlSource,DynamicContext进行SQL解析,路由,插件增强等。 (2)执行JDBC操作,如果是查询则需要转换ResultSet为配置文件中的配置的resultMap属...原创 2016-02-02 16:32:04 · 191 阅读 · 0 评论