随笔分类 - mybatis
摘要:mybatis源码(十二) mybatis-spring的实现原理 1.Spring中的一些概念: 1.BeanDefinition:用于描述springbean的配置信息,spring配置Bean的方式通常有3种。 xml配置文件的方式 java注解的方式。例如@service注解等 javaCo
阅读全文
摘要:mybatis源码(十一) mybatis插件原理及其应用 mybatis插件:MyBatis提供了扩展机制,能够在执行Mapper时改变SQL的执行行为。这种扩展机制是通过拦截器来实现的,用户自定义的拦截器也被称为MyBatis 插件。MyBatis框架支持对Executor、ParameterH
阅读全文
摘要:mybatis源码(十)mybatis二级缓存的使用 mybatis的二级缓存是mapper级别的缓存 1.mybatis中如何使用二级缓存 a.mybatis的主配置文件的settings中设置cacheEnabled=true b.mybatis的mapper的配置文件中,配置缓存策略、缓存刷新
阅读全文
摘要:mybatis源码(九)mybatis一级缓存的使用 mybatis缓存分为两种:一级缓存和二级缓存 1.一级缓存:是sqlSession级别的缓存,同时mybatis的一级缓存不支持关闭 例如通过<association>和<collection>建立级联映射、避免循环引用(circular re
阅读全文
摘要:mybatis的工具类 1.SQL:使用JDBC拼接SQL的开发中,空格操作和逗号是噩梦.使用sql类生成sql语句 源码实现:SQL类继承自AbstractSQL。AbstractSQL:SQL工具类所有的功能都由AbstractSQL类实现。这个类的作用就是拼接sql语句 public clas
阅读全文
摘要:mybatis源码(八) Mybatis中的#{} 和${} 占位符的区别 使用#{} 参数占位符时,占位符内容会被替换成 “?” 然后通过PreparedStatement 对象的setXxx()方法为参数占位符设置值;能够有效避免SQL注入的问题,所以应优先使用#{},当#{}无法满足时,在考虑
阅读全文
摘要:mybatis源码(七)mybatis动态sql的解析过程下篇 mybatis的MapperStatement的创建过程中,进行的动态sql解析 XMLStatementBuilder.parseStatementNode() public void parseStatementNode() { S
阅读全文
摘要:mybatis源码(六)mybatis动态sql的解析过程上篇 mybaits支持动态sql的使用。常见的动态sql标签:<where></where>标签、<if></if>、<choose|when|otherwise>、<foreach>、<trim>、<set> 1.组件介绍 1.1 Sql
阅读全文
摘要:JDBC的API介绍 1.JDBC的简单使用 a.注册数据库驱动 b.获取数据库连接 获取连接的方式:1.通过DriverManger 2.通过 DataSource * Mybatis框架提供了DataSourceFactory使用工厂模式用来创建数据源 * JDBC API提供了DataSour
阅读全文
摘要:mybatis源码(五)mybatis日志实现 日志在项目中很常见,能够记录系统的运行状态,有助于开发人员排查系统bug,我们使用什么样的日志,在maven的pom中添加相应的依赖,就可以使用了,那么mybatis是怎么做的呢 mybatis通过Log接口定义了日志规范 public interfa
阅读全文
摘要:mybatis源码(四)SqlSession执行mapper的过程下篇 代码案例:以SqlSession的selectList为例 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd
阅读全文
摘要:mybatis源码(三)SqlSession执行mapper的过程 1.mapper代理对象创建的过程 sqlSession.getMapper(UserMapper.class)返回的是代理对象。MapperProxy。该对象是MapperProxyFactory创建的 代码案例: // 获取配置
阅读全文
摘要:Mybatis源码(二)mybatis核心组件 Configuration:用于描述mybatis的主配置信息,其他组件需要获取配置信息时,直接通过Configuration对象获取 MappedStatement:用于描述Mapper中的SQL的配置信息,是对MapperXML配置文件中selec
阅读全文
摘要:Mybatis源码(一) 之SqlSession的创建 近日学习了mybatis的源码,记录一下sqlSessionFactory的创建过程,SqlSessionFactory 是通过SqlSessionFactoryBuilder创建的,如下所示 // 获取Mybatis配置文件输入流 Reade
阅读全文

浙公网安备 33010602011771号