随笔分类 - mybatis源码学习
mybatis源码学习
摘要:二级缓存的开启 首先,在mybatis的配置文件中,要将settings的子标签setting的属性cacheEnabled的值设为true,默认即为true,即默认开启二级缓存。 其次在映射文件中,要定义cache标签或cache-ref,这说明这个命名空间开启二级缓存管理。mybatis中每个命
阅读全文
摘要:配置文件中映射文件的配置 mybatis配置文件中用子标签mappers定义要用到的映射文件,它有两个子标签mapper及package,mapper子标签定义一个具体的XML映射文件,而在纯注解的方式下,使用package定义一个包名,这个包下的所有类都作为映射接口类,类中用注解定义了SQL语句。
阅读全文
摘要:Mybatis多数据库支持:Configuration中有一个字符串属性databaseId,mybatis试图通过这个属性解决多数据库配置问题。 DatabaseIdProvider接口及实现类,它能根据DataSource获得数据库的标识id,mybatis提供了一个默认的实现VendorDat
阅读全文
摘要:数据源工厂接口及实现类 Mybatis定义了接口DataSourceFactory,可用来创建DataSource对象,这个接口很简单,只定义了两个方法。 public interface DataSourceFactory { // 提供属性对象供数据源对象使用 void setPropertie
阅读全文
摘要:环境对象 Environment对象 环境对象是一个类,提供联接数据库的环境,mybatis支持多环境开发,可配置多个环境,根据环境不同,使用其中的一个。Confguration对象持有一个Environment对象,构建Configuration时,可以传入环境id,即使用指定的环境配置,或者使用
阅读全文
摘要:简介 mybatis的插件即是拦截器,通过定义拦截器可以增强mybatis功能,如我们常用的mybatis分页插件可帮助我们实现分页功能。 拦截器接口及相关类 mybatis定义了拦截器接口Interceptor,当我们要实现一个拦截器时,要写一个类实现这个接口,主要要实现方法intercept()
阅读全文
摘要:三个工厂简介 mybatis可以定制三个工厂接口ObjectFactory,ObjectWrapperFactory及ReflectorFactory的实现。 ObjectFactory接口,用来创建对象,是创建对象的工厂,mybatis所需的对象都通过ObjectFatory创建,默认实现为Def
阅读全文
摘要:类型处理器接口TypeHandler JDBC执行SQL语句时,使用PreparedStatement设置参数值的方法是setXxx方法,Xxx表示一种类型,所以设置参数值需要根据参数的类型使用不同的方法,mybatis中用这个类型对应的TypeHandler对象的setParameter方法统一实
阅读全文
摘要:JdbcType mybatis关注两种类型:数据库使用的类型及Java类型,Java类型通过别名处理,数据库使用的类型用JdbcType表示,相关接口与类定义在包org.apache.ibatis.type中 java.sql.Types通过静态int常量定义了SQL类型,也即JDBC类型 Jdb
阅读全文
摘要:settings标签配置 MyBatis配置文件中settings子标签的配置,即是用setting子标签定义一个name及value属性,在解析时将其保存到Configuration对象中,下面是这个标签及其子标签的配置及含义: <settings> <!--允许在嵌套语句中使用分页(RowBou
阅读全文
摘要:properties子元素 properties子元素是MyBatis配置文件中的第一个子元素,用来指向一个属性文件,它在XML文件中的配置如下。 <properties resource="db.properties" url="路径"> <!-- 可以定义自已的property --> <pro
阅读全文
摘要:Configuration概述 这是表示MyBatis配置的类,MyBatis的启动过程中即是解析XML配置文件及映射文件,并将解析结果填充到Configuration对象中的过程。Configuration对象有众多的属性及关键方法,会在以后的文章中详述。 XMLConfigBuilder对象
阅读全文
摘要:mybatis启动主流程 mybatis启动流程即获得SqlSessionFactory对象的流程,SqlSessionFactory是一个接口,其默认实现类是DefaultSqlSessionFactory,由SqlSessionFactoryBuilder的build方法构建。在我们初学MyBa
阅读全文
摘要:BaseBuilder是解析XML文件的基类 BaseBuilder是一个抽象类,是其它XML解析类的父类,它持有Configuration对象,类型注册器TypeAliasRegistry及类型处理器注册对象TypeHandlerRegistry,,mybatis初始始化的过程就是完善Config
阅读全文
摘要:${name}解析概述 MyBatis的配置及映射文件中均可以使用${name}作为替换符,name的值定义在属性文件中,MyBatis在使用XPathParser对象解析XML文档时,会对属性及文本中的${name}进行处理,即在Properties对象中查找name对应的值,并用这个值替换${n
阅读全文
摘要:简介 MyBatis使用XPath技术解析XML文档,MyBatis提供的XPathParser类对XPath的进行了封装,提供了更为友好的方法以方便用户使用。 XPathParser内部成员 XPathParser是一个直接可以使用的类,主要持有XPath、Document及Properties对
阅读全文

浙公网安备 33010602011771号