- nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: java.lang.NullPointerException ### The error may involve com.hzgroup.switchpr... nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: java.lang.NullPointerException ### The error may involve com.hzgroup.switchpr...
- 1 数据缓存设计结构 1.1 一级缓存 Session会话级别的缓存,位于表示一次数据库会话的SqlSession对象之中,即本地缓存。 一级缓存是MyBatis内部实现的一个特性,用户不能配置,默认自动支持,用户无定制权利。 1.2 二级缓存 Application应用级别的缓存,生命周期长,跟Application的生命周期一样,即作用范围为整个Appli... 1 数据缓存设计结构 1.1 一级缓存 Session会话级别的缓存,位于表示一次数据库会话的SqlSession对象之中,即本地缓存。 一级缓存是MyBatis内部实现的一个特性,用户不能配置,默认自动支持,用户无定制权利。 1.2 二级缓存 Application应用级别的缓存,生命周期长,跟Application的生命周期一样,即作用范围为整个Appli...
- org.apache.ibatis.annotations包下有着 mybatis 所有的注解,让我们一文打尽! 1 @Mapper MyBatis映射器的标记接口 从mybatis3.4.0开始加入了@Mapper注解,目的就是为了不再写mapper映射文件 但是源码中并没有对于这个注解的详细解释 添加了@Mapper注解之后这个接口在编译时会生成相应的实... org.apache.ibatis.annotations包下有着 mybatis 所有的注解,让我们一文打尽! 1 @Mapper MyBatis映射器的标记接口 从mybatis3.4.0开始加入了@Mapper注解,目的就是为了不再写mapper映射文件 但是源码中并没有对于这个注解的详细解释 添加了@Mapper注解之后这个接口在编译时会生成相应的实...
- 概述 接上一篇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...
上滑加载中
推荐直播
-
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(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基础知识到昇腾技术的完整学习路径。
回顾中
热门标签