ibatis
GapaU
这个作者很懒,什么都没留下…
展开
-
(七) mybatis 源码之 终章 : 与 Spring 整合
几乎所有的框架都需要与 Spring 整合, Spring 也号称框架中的框架, 其拓展性就不用我说了, 直接看源码 (本章节采用的是 注解, 并非 xml 配置文件)搭建环境@Configuration@ComponentScan("com.gp.ibatis")@MapperScan("com.gp.ibatis.mapper")public class MapperScanDemo { private final Resource configResource = new Clas原创 2020-07-30 11:23:56 · 135 阅读 · 0 评论 -
(六) mybatis 源码之 四大对象与插件开发
拦截器 Interceptor在创建四大对象的时候, 都应用到了拦截器/* 以下四个方法都应用了拦截器, 实现 Interceptor 接口为 mybatis 进行拓展 */public ParameterHandler newParameterHandler(MappedStatement mappedStatement, Object parameterObject, BoundSql boundSql) { ParameterHandler parameterHandler =原创 2020-07-29 20:20:28 · 141 阅读 · 0 评论 -
(五) mybatis 源码之 注解 SQL
注解型 SQL众所周知, mybatis 支持两种编写 SQL 的方式 : xml 配置文件和注解, 就像这样@Results(id = "stu", value = { @Result(id = true, column = "id", property = "id"), @Result(column = "name", property = "name"), @Result(column = "tel", property = "tel"), @Result(colu原创 2020-07-29 15:28:11 · 317 阅读 · 0 评论 -
(四) mybatis 源码之 SQL 执行
执行 SQL使用 SqlSession 提供的 API 也能执行 SQL 语句, 不过这种方使用的少, 还是习惯使用接口的方式直接调用 SqlSession 的 getMapper 方法就可以为接口实现代理, 所以方法执行前会被拦截, 交给 MapperProxy 拦截, 它实现了 InterceptorHandler 接口// 得到 MapperMethodInvoker 对象, 调用其 invoke 方法// 最后交给 MapperMethod 执行, 查看他的 executor 方法pub原创 2020-07-29 09:49:12 · 210 阅读 · 0 评论 -
(三) mybatis 源码之 SqlSession
SqlSessionSqlSession 用于与数据库进行一次会话, 需要从 SqlSessionFactory 中获取, 查看其 openSession 方法// 一路调用来到这个方法private SqlSession openSessionFromDataSource(ExecutorType execType, TransactionIsolationLevel level, boolean autoCommit) { Transaction tx = null; try {原创 2020-07-29 08:48:45 · 84 阅读 · 0 评论 -
(二) mybatis 源码之 SqlSessionFactory
SqlSesseionFactory建造者模式, 最后调用的是 build 方法, 创建了一个 SqlSessionFactory 对象public SqlSessionFactory build(Reader reader, String environment, Properties properties) { try { // 解析全局配置文件, 保存到 document 对象中 XMLConfigBuilder parser = new XMLConfi原创 2020-07-28 20:56:53 · 142 阅读 · 0 评论 -
(一) mybatis 源码系列之 mybatis 架构
什么是 mybatis 就不必介绍了, 开始看源码, 再看源码之前,先来了解一下 mybatis 的整体架构mybatis 大概是源码之中最为简单的了 (代码量最小, 逻辑不复杂), 相对于 spring, tomcat 而言有点蛋疼的就是没有注释, 代码干净的一批, 接口中没有一丁点 javadoc 文档整体架构接口层接口层主要定义的是与数据库进行交互的方式。在 Mybatis中,交互分为两种方式Mybatis提供的API使用 Mybatis 提供的API进行操作,通过获取 SqlS原创 2020-07-28 20:27:38 · 111 阅读 · 0 评论