- 概述 接上一篇MyBatis 学习笔记(四)—源码分析篇—配置文件的解析过程(一) 。上一篇我们介绍了properties 和settings配置的解析过程,今天我们接着来看看其他常用属性的解析过程,重点介绍typeAliases,environments等配置的解析。 typeAliases的解析过程 一个简单的别名配置如下: <typeAliases... 概述 接上一篇MyBatis 学习笔记(四)—源码分析篇—配置文件的解析过程(一) 。上一篇我们介绍了properties 和settings配置的解析过程,今天我们接着来看看其他常用属性的解析过程,重点介绍typeAliases,environments等配置的解析。 typeAliases的解析过程 一个简单的别名配置如下: <typeAliases...
- 前言 接上一篇,今天我们接着来分析MyBatis的源码。今天的分析的核心是SQL的执行过程。主要分为如下章节进行分析 代理类的生成SQL的执行过程处理查询结果 mapper 接口的代理类的生成过程分析 首先我们来看看mapper 接口的代理类的生成过程,如下是一个MyBatis查询的调用实例。 StudentMapper mapper = sqlSessio... 前言 接上一篇,今天我们接着来分析MyBatis的源码。今天的分析的核心是SQL的执行过程。主要分为如下章节进行分析 代理类的生成SQL的执行过程处理查询结果 mapper 接口的代理类的生成过程分析 首先我们来看看mapper 接口的代理类的生成过程,如下是一个MyBatis查询的调用实例。 StudentMapper mapper = sqlSessio...
- 前言 在面试中我们经常会被到MyBatis中 #{} 占位符与${}占位符的区别。大多数的小伙伴都可以脱口而出#{} 会对值进行转义,防止SQL注入。而${}则会原样输出传入值,不会对传入值做任何处理。本文将通过源码层面分析为啥#{} 可以防止SQL注入。 源码解析 首先我们来看看MyBatis 中SQL的解析过程,MyBatis 会将映射文件中的SQL拆分成一个... 前言 在面试中我们经常会被到MyBatis中 #{} 占位符与${}占位符的区别。大多数的小伙伴都可以脱口而出#{} 会对值进行转义,防止SQL注入。而${}则会原样输出传入值,不会对传入值做任何处理。本文将通过源码层面分析为啥#{} 可以防止SQL注入。 源码解析 首先我们来看看MyBatis 中SQL的解析过程,MyBatis 会将映射文件中的SQL拆分成一个...
- 今天接着说说如何在日志中配置SQL打印输出。 log4j的依赖添加 <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.7</vers... 今天接着说说如何在日志中配置SQL打印输出。 log4j的依赖添加 <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.7</vers...
- 问题描述: 如果三表(包括了关系表)级联查询,主表和明细表的主键都是id的话,明细表的多条数据只能查询出来第一条/最后一条数据。 三个表,权限表(Permission),权限组表(PermissionGroup),权限组与权限的关系表(PermissionPermissionGroupKey) 实体类就不写上来了。 原出错映射文件: <r... 问题描述: 如果三表(包括了关系表)级联查询,主表和明细表的主键都是id的话,明细表的多条数据只能查询出来第一条/最后一条数据。 三个表,权限表(Permission),权限组表(PermissionGroup),权限组与权限的关系表(PermissionPermissionGroupKey) 实体类就不写上来了。 原出错映射文件: <r...
- MyBatis分页查询SQL Server2008时出现’@P0’ 附近有语法错误” Error querying database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: ‘@P0’ 附近有语法错误。 错误如下: org.springframework.jdbc.Uncategori... MyBatis分页查询SQL Server2008时出现’@P0’ 附近有语法错误” Error querying database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: ‘@P0’ 附近有语法错误。 错误如下: org.springframework.jdbc.Uncategori...
- 11.5 自动映射(Auto-mapping) -《SSM深入解析与项目实战》 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 11.5 自动映射(Auto-mapping) 自动映射与配置映射 11.5 &nbs... 11.5 自动映射(Auto-mapping) -《SSM深入解析与项目实战》 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 11.5 自动映射(Auto-mapping) 自动映射与配置映射 11.5 &nbs...
- 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 11.3 参数(Parameters) 11.3.1 安全传参 简单的传参 复杂的传参 指定参数的类型 11.3.2 字符串替换 11.3 参数(Parameters) ... 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 11.3 参数(Parameters) 11.3.1 安全传参 简单的传参 复杂的传参 指定参数的类型 11.3.2 字符串替换 11.3 参数(Parameters) ...
- 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 第10章 MyBatis的XML配置文件 10.1 properties 属性 引入properties文件与设置properties键值对 jdbc.properties文件 数据库配置 指定... 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 第10章 MyBatis的XML配置文件 10.1 properties 属性 引入properties文件与设置properties键值对 jdbc.properties文件 数据库配置 指定...
- 19.3.1 集成MyBatis-Plus(数据库实体快速生成)-《SSM深入解析与项目实战》 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 19.3 数据库实体快速生成 19.3.1 集成MyBatis-... 19.3.1 集成MyBatis-Plus(数据库实体快速生成)-《SSM深入解析与项目实战》 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 19.3 数据库实体快速生成 19.3.1 集成MyBatis-...
- 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 10.2 settings设置 完整的settings标签配置 10.2 settings设置 关于settings是设置,都是在settings标签中进行配置的。也就是对应前面... 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 10.2 settings设置 完整的settings标签配置 10.2 settings设置 关于settings是设置,都是在settings标签中进行配置的。也就是对应前面...
- 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 10.8 databaseIdProvider数据库厂商标识 MyBatis可以根据不同的数据库厂商执行不同的语句,这种多厂商的支持是基于映射语句中的databaseId属性。MyBatis会加载不带da... 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 10.8 databaseIdProvider数据库厂商标识 MyBatis可以根据不同的数据库厂商执行不同的语句,这种多厂商的支持是基于映射语句中的databaseId属性。MyBatis会加载不带da...
- 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 9.4 SqlSession(会话) 9.4.1 多个参数的select高级方法 DefaultSqlSession类中多个参数的select高级方法 RowBounds对象部分代码 Default... 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 9.4 SqlSession(会话) 9.4.1 多个参数的select高级方法 DefaultSqlSession类中多个参数的select高级方法 RowBounds对象部分代码 Default...
- 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 第3篇 MyBatis 第9章 MyBatis组件 9.1 SqlSessionFactoryBuilder(工厂构造器) 9.1.1 SqlSessionFactoryBuilder源码 ... 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 第3篇 MyBatis 第9章 MyBatis组件 9.1 SqlSessionFactoryBuilder(工厂构造器) 9.1.1 SqlSessionFactoryBuilder源码 ...
- 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 10.9 mappers 映射器 前面都是在配置MyBatis的运行环境和行为。现在开始要定义SQL语句。需要和Java的接口对应起来,那么需要开发者告诉MyBatis到哪里能找到这些SQL语句进行执行。... 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录 10.9 mappers 映射器 前面都是在配置MyBatis的运行环境和行为。现在开始要定义SQL语句。需要和Java的接口对应起来,那么需要开发者告诉MyBatis到哪里能找到这些SQL语句进行执行。...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签