mybatis
坏习惯的叛逆者
这个作者很懒,什么都没留下…
展开
-
【MyBatis】代码生成
报错:Caused by: java.lang.ClassNotFoundException: com.baomidou.mybatisplus.core.handlers.AnnotationHandler。原创 2023-09-24 15:21:40 · 659 阅读 · 0 评论 -
mybatis 源码解析之 session
介绍该部分代码位于 org.apache.ibatis.session 包。覆盖了由读取配置之后,到创建一个 SqlSession 的过程。简化流程SqlSessionManager 根据 Reader、InputStream 用 SqlSessionFactoryBuilder 创建 SqlSessionFactory 对象XMLConfigBuilder 从 Reader 或 I...原创 2018-12-17 00:12:33 · 180 阅读 · 0 评论 -
mybatis 配置解析
本文参考如下:配置文档 http://www.mybatis.org/mybatis-3/zh/configuration.html代码 XMLConfigBuilder处理流程构造 XMLConfigBuilder 对象 parse 创建 Configuration 对象 config 创建 XPathParser 对象 parser调用 XMLConfigBuilder 的 ...原创 2019-01-12 22:21:38 · 230 阅读 · 0 评论 -
MyBatis 源码分析之 TypeHander
mybatis-type这个模块非常简单,涉及 org.apache.ibatis.type 包TypeHandler 为接口,特定类型实现了 TypeHandler 接口TypeHandlerRegistry 保存 JavaType,JdbcType,TypeHandler 的映射关系。TypeHandler:所有类型 handler 的接口TypeAliasRegistry: ...原创 2019-01-20 22:37:36 · 171 阅读 · 0 评论 -
mybatis 源码解析之 mybatis 简介
JDBCJava程序是通过JDBC(Java Data Base Connectivity)连接数据库的,JDBC是由SUN公司提出的一系列规范,但是它只定义了接口的规范,而具体的实现是交给了各个数据库厂商去实现的,JDBC是一种典型的桥接模式JDBC编程步骤使用JDBC编程需要连接数据库,注册驱动和数据库信息操作Connection,打开Statement对象通过Statement执...原创 2019-03-05 00:34:46 · 138 阅读 · 0 评论 -
mybatis 源码解析之 mybatis 架构
架构代码目录annotation : MyBatis 注解对象binding:配置中 mapper 部分,扫描 xml 配置文件builder:Builder 模式构造各种 annotation 和 xml 对象cache:缓存的实现,一级缓存,二级缓存cursor:流式查询,大数据量的时候避免 OOMdatasource:数据库配置,支持 UNPOOLED,POOL,JNDIe...原创 2019-03-05 00:53:22 · 146 阅读 · 0 评论 -
mybatis源码解析之 TypeHandler
TypeHanlerMyBatis 在预处理语句(PreparedStatement)中设置一个参数或者从结果集中取出一个值时,都会用类型处理器将获取的值以合适的方式转换成 Java 类型。Mybatis默认为我们实现了许多TypeHandler, 当我们没有配置指定TypeHandler时,Mybatis会根据参数或者返回结果的不同,默认为我们选择合适的TypeHandler处理。在MyBa...原创 2019-05-02 23:33:17 · 2254 阅读 · 0 评论 -
mybatis源码解析之TypeAlias
mybatis-typealias自定义类型别名的方式方法一:自定义注解@Alias("user")class User { String name;}方法二:定义别名<typeAliases> <typeAlias alias="User" type="com.example.vo.User" /></typeAliases>...原创 2019-05-02 23:43:41 · 457 阅读 · 1 评论 -
mybatis 源码解析之 cache
预备知识对 Mybatis 的执行流程有一定的了解。一级缓存在读多写少的情况下,减少了网络的开销,显著提升性能。配置public enum LocalCacheScope { SESSION,STATEMENT}对应到配置文件<setting name="localCacheScope" value="SESSION"/>支持 SESSION 和 STATEM...原创 2019-05-16 23:08:23 · 407 阅读 · 0 评论