- 聊聊Mybatis的结果映射当Mybatis执行完sql获得ResultSet结果集的时候会交给ResultSetHandler进行处理,完成ResultSet到java对象的映射 结果集处理接口ResultSetHandler是一个接口,重点看一下public interface ResultSetHandler { <E> List<E> handleResultSets(State... 聊聊Mybatis的结果映射当Mybatis执行完sql获得ResultSet结果集的时候会交给ResultSetHandler进行处理,完成ResultSet到java对象的映射 结果集处理接口ResultSetHandler是一个接口,重点看一下public interface ResultSetHandler { <E> List<E> handleResultSets(State...
- 聊聊Mybatis的动态Sql之这三个SqlNode同样重要 ForEachSqlNode VarDeclSqlNode ChooseSqlNode 总结 聊聊Mybatis的动态Sql之这三个SqlNode同样重要SqlNode作为一个接口,是动态SQL的有力支撑,这篇文章我们介绍一下SqlNode的三个重要的实现类。 ForEachSqlNodeforeach标签在我们编写Mapper... 聊聊Mybatis的动态Sql之这三个SqlNode同样重要 ForEachSqlNode VarDeclSqlNode ChooseSqlNode 总结 聊聊Mybatis的动态Sql之这三个SqlNode同样重要SqlNode作为一个接口,是动态SQL的有力支撑,这篇文章我们介绍一下SqlNode的三个重要的实现类。 ForEachSqlNodeforeach标签在我们编写Mapper...
- 聊聊Mybatis的初始化之Mapper.xml映射文件的解析解析完全局配置文件后接下来就是解析Mapper文件了,它是通过XMLMapperBuilder来进行解析的: 解析Mapper文件入口XMLMapperBuilder的parse()方法:public void parse() { if (!configuration.isResourceLoaded(resource))... 聊聊Mybatis的初始化之Mapper.xml映射文件的解析解析完全局配置文件后接下来就是解析Mapper文件了,它是通过XMLMapperBuilder来进行解析的: 解析Mapper文件入口XMLMapperBuilder的parse()方法:public void parse() { if (!configuration.isResourceLoaded(resource))...
- 聊聊Mybatis的初始化之建造者模式Mybatis首先会加载和解析全局配置文件,调用SqlSessionFactoryBuilder.build() 方法 构建SqlSession工厂类SqlSessionFactoryBuilder.build() 方法:public SqlSessionFactory build(Reader reader, String environment, ... 聊聊Mybatis的初始化之建造者模式Mybatis首先会加载和解析全局配置文件,调用SqlSessionFactoryBuilder.build() 方法 构建SqlSession工厂类SqlSessionFactoryBuilder.build() 方法:public SqlSessionFactory build(Reader reader, String environment, ...
- 聊聊Mybatis的缓存的其他装饰者 最近最少使用缓存装饰器 存放元素 先进先出策略的装饰器 存放元素 总结 聊聊Mybatis的缓存的其他装饰者上篇文章说了Mybatis的缓存的被装饰者接口和对应实现类,还说了装饰器BlockingCache的实现,我们看一下其他装饰器 最近最少使用缓存装饰器LruCache是最近最少使用缓存装饰器,它使用LinkedHashMap记录缓存的使用情况,L... 聊聊Mybatis的缓存的其他装饰者 最近最少使用缓存装饰器 存放元素 先进先出策略的装饰器 存放元素 总结 聊聊Mybatis的缓存的其他装饰者上篇文章说了Mybatis的缓存的被装饰者接口和对应实现类,还说了装饰器BlockingCache的实现,我们看一下其他装饰器 最近最少使用缓存装饰器LruCache是最近最少使用缓存装饰器,它使用LinkedHashMap记录缓存的使用情况,L...
- 聊聊Mybatis的binding模块之MapperMethod 构造方法 SqlCommand MapperMethod的执行方法 总结 聊聊Mybatis的binding模块之MapperMethodMybatis的绑定真正操作是通过MapperProxy来调用MapperMethod的execute()方法 构造方法先看一下MapperMethod的构造方法:public Mappe... 聊聊Mybatis的binding模块之MapperMethod 构造方法 SqlCommand MapperMethod的执行方法 总结 聊聊Mybatis的binding模块之MapperMethodMybatis的绑定真正操作是通过MapperProxy来调用MapperMethod的execute()方法 构造方法先看一下MapperMethod的构造方法:public Mappe...
- 聊聊Mybatis的binding模块 映射注册类MapperRegistry 映射代理工厂类MapperProxyFactory 映射代理类MapperProxy 默认方法调用类DefaultMethodInvoker 总结 聊聊Mybatis的binding模块为什么我们在使用Mybatis的时候只需要写接口和xml文件就能执行sql呢?这就是Mybatis的binding模块需要做的... 聊聊Mybatis的binding模块 映射注册类MapperRegistry 映射代理工厂类MapperProxyFactory 映射代理类MapperProxy 默认方法调用类DefaultMethodInvoker 总结 聊聊Mybatis的binding模块为什么我们在使用Mybatis的时候只需要写接口和xml文件就能执行sql呢?这就是Mybatis的binding模块需要做的...
- 聊聊Mybatis的类型转换的别名管理 别名注册 具体注册 总结 聊聊Mybatis的类型转换的别名管理用过mybatis框架的都知道,通过<typeAlias>标签可以使用别名来替代完整的类名,实现这个功能的类在于TypeAliasRegistry可以根据@Alias注解来获取别名,完成别名和类的注册,我们不妨分析它是怎么实现的别名逻辑的对应方法是registerAliases(): 别... 聊聊Mybatis的类型转换的别名管理 别名注册 具体注册 总结 聊聊Mybatis的类型转换的别名管理用过mybatis框架的都知道,通过<typeAlias>标签可以使用别名来替代完整的类名,实现这个功能的类在于TypeAliasRegistry可以根据@Alias注解来获取别名,完成别名和类的注册,我们不妨分析它是怎么实现的别名逻辑的对应方法是registerAliases(): 别...
- 聊聊Mybatis的类型转换接口TypeHandler 类型处理器接口TypeHandler 类型处理器BaseTypeHandler jdbc类型转为java类型 java类型转为jdbc类型 总结 聊聊Mybatis的类型转换接口TypeHandlermybatis可以实现jdbc类型和java类型之间的转换,具体来说有一个类型转换器的接口: 类型处理器接口TypeHandlerTyp... 聊聊Mybatis的类型转换接口TypeHandler 类型处理器接口TypeHandler 类型处理器BaseTypeHandler jdbc类型转为java类型 java类型转为jdbc类型 总结 聊聊Mybatis的类型转换接口TypeHandlermybatis可以实现jdbc类型和java类型之间的转换,具体来说有一个类型转换器的接口: 类型处理器接口TypeHandlerTyp...
- 聊聊Mybatis的数据源之PooledDataSource获取连接 获取数据库连接 popConnection()方法 检测连接是否可用 总结 聊聊Mybatis的数据源之PooledDataSource获取连接这篇文章我们对数据源池的获取连接的过程进行分析讲解一下 获取数据库连接获取数据库的连接调用getConnection()方法: @Override public Co... 聊聊Mybatis的数据源之PooledDataSource获取连接 获取数据库连接 popConnection()方法 检测连接是否可用 总结 聊聊Mybatis的数据源之PooledDataSource获取连接这篇文章我们对数据源池的获取连接的过程进行分析讲解一下 获取数据库连接获取数据库的连接调用getConnection()方法: @Override public Co...
- 聊聊Mybatis的数据源之PooledDataSource PooledConnection PooledDataSource的pushConnection()方法 总结 聊聊Mybatis的数据源之PooledDataSource上篇文章中我们介绍了Mybatis的数据源模块的DataSource接口和它对应的实现类UnpooledDataSource、PooledDataSource... 聊聊Mybatis的数据源之PooledDataSource PooledConnection PooledDataSource的pushConnection()方法 总结 聊聊Mybatis的数据源之PooledDataSource上篇文章中我们介绍了Mybatis的数据源模块的DataSource接口和它对应的实现类UnpooledDataSource、PooledDataSource...
- 动态SQL是MyBatis中非常强大的一个功能。例如一些常见的查询场景如查询条件不确定、批量插入等等。我们可以通过使用MyBatis提供的动态SQL来解决问题。 1.ifif是一个判断节点,如果满足条件节点中的SQL就会生效。比如分页查询,要传递页码和查询的记录数,如果这两个参数都为null,那么就要查询所有记录。首先定义接口:public interface UserMapper { ... 动态SQL是MyBatis中非常强大的一个功能。例如一些常见的查询场景如查询条件不确定、批量插入等等。我们可以通过使用MyBatis提供的动态SQL来解决问题。 1.ifif是一个判断节点,如果满足条件节点中的SQL就会生效。比如分页查询,要传递页码和查询的记录数,如果这两个参数都为null,那么就要查询所有记录。首先定义接口:public interface UserMapper { ...
- 你知道Mybatis动态sql是做什么,都有哪些?动态sql的执行原理吗? 你知道Mybatis动态sql是做什么,都有哪些?动态sql的执行原理吗?
- MyBatis 工作流程源码分析,以及相关的MyBatis MyBatis 工作流程源码分析,以及相关的MyBatis
- MyBatis结果集映射源码解析,详细分析了 handleRowValuesForSimpleResultMap() 等方法实现映射的核心步骤 MyBatis结果集映射源码解析,详细分析了 handleRowValuesForSimpleResultMap() 等方法实现映射的核心步骤
上滑加载中
推荐直播
-
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day1)
2025/03/29 周六 09:00-18:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day2)
2025/03/30 周日 09:00-12:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
从AI基础到昇腾:大模型初探、DeepSeek解析与昇腾入门
2025/04/02 周三 16:00-17:30
不易 / 华为云学堂技术讲师
昇腾是华为研发的AI芯片,其具有哪些能力?我们如何基于其进行开发?本期直播将从AI以及大模型基础知识开始,介绍人工智能核心概念、昇腾AI基础软硬件平台以及昇腾专区,旨在为零基础或入门级学习者搭建从AI基础知识到昇腾技术的完整学习路径。
回顾中
热门标签