- 聊聊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() 等方法实现映射的核心步骤
- 聊聊Mybatis的反射之ObjectWrapper MetaClass ObjectWrapper CollectionWrapper BaseWrapper BeanWrapper MapWrapper 总结 聊聊Mybatis的反射之ObjectWrapper这篇文章我们将讲授Mybatis反射的对象包装的类 MetaClassMetaClass主要是用于获取类的属性,它的构造方法中... 聊聊Mybatis的反射之ObjectWrapper MetaClass ObjectWrapper CollectionWrapper BaseWrapper BeanWrapper MapWrapper 总结 聊聊Mybatis的反射之ObjectWrapper这篇文章我们将讲授Mybatis反射的对象包装的类 MetaClassMetaClass主要是用于获取类的属性,它的构造方法中...
上滑加载中
推荐直播
-
OpenHarmony应用开发之网络数据请求与数据解析
2025/01/16 周四 19:00-20:30
华为开发者布道师、南京师范大学泰州学院副教授,硕士研究生导师,开放原子教育银牌认证讲师
科技浪潮中,鸿蒙生态强势崛起,OpenHarmony开启智能终端无限可能。当下,其原生应用开发适配潜力巨大,终端设备已广泛融入生活各场景,从家居到办公、穿戴至车载。 现在,机会敲门!我们的直播聚焦OpenHarmony关键的网络数据请求与解析,抛开晦涩理论,用真实案例带你掌握数据访问接口,轻松应对复杂网络请求、精准解析Json与Xml数据。参与直播,为开发鸿蒙App夯实基础,抢占科技新高地,别错过!
回顾中 -
Ascend C高层API设计原理与实现系列
2025/01/17 周五 15:30-17:00
Ascend C 技术专家
以LayerNorm算子开发为例,讲解开箱即用的Ascend C高层API
回顾中
热门标签