文章目录1.复现问题2.分析问题2.1检查启动类的配置2.2检查xml文件对应java类的配置是否有误2.3检查application.yml文件的mybatis配置是否有误2.4检查pon.xml文件3.解决问题4.总结问题1.复现问题今天在测试项目时,如下代码所示:@SpringBootTestclassLowCodeApplicationTests{@AutowiredprivateUserserviceuserservice;@TestvoidcontextLoads(){ListUser>users=userservice.queryByParam("测试");for(Useruse
文章目录1.复现问题2.分析问题2.1检查启动类的配置2.2检查xml文件对应java类的配置是否有误2.3检查application.yml文件的mybatis配置是否有误2.4检查pon.xml文件3.解决问题4.总结问题1.复现问题今天在测试项目时,如下代码所示:@SpringBootTestclassLowCodeApplicationTests{@AutowiredprivateUserserviceuserservice;@TestvoidcontextLoads(){ListUser>users=userservice.queryByParam("测试");for(Useruse
今天在开发项目时,试着一次性插入大量数据,结果出现了以下报错: 依稀记得以前也遇到过类似的问题,于是打算记录下错误原因及解决过程:首先,这是由于sql语句中占位符数量限制导致的Mysql默认支持的占位符最多为65535(2^16-1)个,即:写入数据为m列,n行。m*n必须小于65535比如你要插入的字段有10列,一次性要插入10000条数据,则10*10000=100000,明显超过了65535,就会报错解决方法:我们只需要对数据进行切割插入即可,使用array_chunk方法例如我刚开始是直接将$res一次性插入导致报错: 然后我现在使用array_chunk方法进行切割循环插入,一
今天在开发项目时,试着一次性插入大量数据,结果出现了以下报错: 依稀记得以前也遇到过类似的问题,于是打算记录下错误原因及解决过程:首先,这是由于sql语句中占位符数量限制导致的Mysql默认支持的占位符最多为65535(2^16-1)个,即:写入数据为m列,n行。m*n必须小于65535比如你要插入的字段有10列,一次性要插入10000条数据,则10*10000=100000,明显超过了65535,就会报错解决方法:我们只需要对数据进行切割插入即可,使用array_chunk方法例如我刚开始是直接将$res一次性插入导致报错: 然后我现在使用array_chunk方法进行切割循环插入,一
引子在使用events_statements_current的过程中发现,同一线程在同一时刻,可能有多条记录,与直观感觉不太一样,于是跟踪了一下内部实现,有了本文。STATEMENTSTACK的定义STATEMENTSTACK是events_statements_current表被后用于存储当前会话执行语句堆栈的数据结构。在MySQL8中,相关定义如下:/**Maxsizeofthestatementsstack.*/uintstatement_stack_max;/**nestedstatementlost*/uintnested_statement_lost;structPFS_ALIGN
引子在使用events_statements_current的过程中发现,同一线程在同一时刻,可能有多条记录,与直观感觉不太一样,于是跟踪了一下内部实现,有了本文。STATEMENTSTACK的定义STATEMENTSTACK是events_statements_current表被后用于存储当前会话执行语句堆栈的数据结构。在MySQL8中,相关定义如下:/**Maxsizeofthestatementsstack.*/uintstatement_stack_max;/**nestedstatementlost*/uintnested_statement_lost;structPFS_ALIGN
前文回顾实现一个简单的Database1(译文)实现一个简单的Database2(译文)实现一个简单的Database3(译文)译注:cstsck在github维护了一个简单的、类似SQLite的数据库实现,通过这个简单的项目,可以很好的理解数据库是如何运行的。本文是第四篇,主要是使用rspec对目前实现的功能进行测试并解决测试出现BUG译注:cstsck在github维护了一个简单的、类似sqlite的数据库实现,通过这个简单的项目,可以很好的理解数据库是如何运行的。本文是第四篇,主要是使用rspec对目前实现的功能进行测试并解决测试出现BUGPart4我们的第一个测试(和BUG)我们已经获
前文回顾实现一个简单的Database1(译文)实现一个简单的Database2(译文)实现一个简单的Database3(译文)译注:cstsck在github维护了一个简单的、类似sqlite的数据库实现,通过这个简单的项目,可以很好的理解数据库是如何运行的。本文是第三篇,主要是实现数据库的实现内存中的数据结构并存储数据Part3在内存中,只追加的单表数据库我们从一个小型的,有许多限制的数据库开始。现在数据库将:支持两个操作:插入一行并打印所有行数据驻留在内存中(没有持久化到磁盘)支持单个、硬编码的表我们的硬编码表将用来存储用户数据,看起来就行下面展示的这样:columntypeidinte
前文回顾实现一个简单的Database1(译文)实现一个简单的Database2(译文)实现一个简单的Database3(译文)译注:cstsck在github维护了一个简单的、类似SQLite的数据库实现,通过这个简单的项目,可以很好的理解数据库是如何运行的。本文是第四篇,主要是使用rspec对目前实现的功能进行测试并解决测试出现BUG译注:cstsck在github维护了一个简单的、类似sqlite的数据库实现,通过这个简单的项目,可以很好的理解数据库是如何运行的。本文是第四篇,主要是使用rspec对目前实现的功能进行测试并解决测试出现BUGPart4我们的第一个测试(和BUG)我们已经获
前文回顾实现一个简单的Database1(译文)实现一个简单的Database2(译文)实现一个简单的Database3(译文)译注:cstsck在github维护了一个简单的、类似sqlite的数据库实现,通过这个简单的项目,可以很好的理解数据库是如何运行的。本文是第三篇,主要是实现数据库的实现内存中的数据结构并存储数据Part3在内存中,只追加的单表数据库我们从一个小型的,有许多限制的数据库开始。现在数据库将:支持两个操作:插入一行并打印所有行数据驻留在内存中(没有持久化到磁盘)支持单个、硬编码的表我们的硬编码表将用来存储用户数据,看起来就行下面展示的这样:columntypeidinte