草庐IT

mybatis-flex

全部标签

使用MyBatis操作数据库及单元测试

目录一.MyBatis介绍二.MyBatis操作数据库步骤三.单元测试idea上生成测试 配置mybatis日志动态参数一.MyBatis介绍MyBatis是⼀款优秀的持久层框架,⽤于简化JDBC的开发。JDBC来操作数据库太复杂了,使用MyBatis是因为它可以帮助我们更⽅便、更快速的操作数据库。二.MyBatis操作数据库步骤1.创建springboot工程,并导入mybatis的起步依赖、mysql的驱动包2.创建用户表,并创建对应的实体类User  创建用户表--创建数据库DROPDATABASEIFEXISTSmybatis_test;CREATEDATABASEmybatis_te

springBoot-Mybatis-Plus 多数据源切换实现

前言:本文主要通过AbstractRoutingDataSource,实现根据http访问携带的标识动态切换数据源;1AbstractRoutingDataSource介绍:AbstractRoutingDataSource是Spring框架中的一个抽象类,它可以用来实现动态数据源切换。在多数据源场景下,AbstractRoutingDataSource可以根据不同的请求来动态地选择合适的数据源进行操作,以达到高效利用多个数据源的目的。AbstractRoutingDataSource并不是直接连接数据库的数据源,它只是一个路由数据源,它负责根据一定的规则选择一个真正的数据源来执行数据操作。它

MyBatis批量插入数据优化,那叫一个优雅!

在项目开发中,我们经常需要进行大量数据的批量插入操作。然而,在实际应用中,插入大量数据时性能常常成为一个瓶颈。在我最近的项目中,我发现了一些能够显著提升批量插入性能的方法,并进行了一系列实验来验证它们的有效性。今日内容介绍,大约花费15分钟图片背景介绍我们使用了mybatis-plus框架,并采用其中的saveBatch方法进行批量数据插入。然而,通过深入研究源码,我发现这个方法并没有如我期望的那样高效图片这是因为最终在执行的时候还是通过for循环一条条执行insert,然后再一批的进行flush,默认批的消息为1000图片为了找到更优秀的解决方案,我展开了一场性能优化的探索之旅。好了我们现在

Spring Boot学习随笔- 集成MyBatis-Plus(二)条件查询QueryWrapper、聚合函数的使用、Lambda条件查询

学习视频:【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备!查询方法详解普通查询//根据主键id去查询单个结果的。@TestpublicvoidselectById(){Useruser=userMapper.selectById(1739970502337392641L);System.out.println(user);}//根据多个主键id批量查询结果的@TestpublicvoidselectIds(){Listlist=Arrays.asList(1739970502337392641L,1739983903621038082L,

Spring Boot学习随笔- 集成MyBatis-Plus(一),第一个MP程序(环境搭建、@TableName、@TableId、@TableField示例)

学习视频:【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备!引言MyBatis-Plus是一个基于MyBatis的增强工具,旨在简化开发,提高效率。它扩展了MyBatis的功能,提供了许多实用的特性,包括强大的CRUD操作、条件构造器、分页插件、代码生成器等。MyBatis-Plus的目标是简化开发,提供更便捷的操作数据库的方式。MyBatis-Plus的主要特性包括:CRUD操作的增强功能:MyBatis-Plus提供了丰富的CRUD操作方法,包括批量插入、批量更新、链式查询等,简化了数据操作的流程。条件构造器:MyBatis-Plus内

Spring Boot学习随笔- 集成MyBatis-Plus(二)条件查询QueryWrapper、聚合函数的使用、Lambda条件查询

学习视频:【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备!查询方法详解普通查询//根据主键id去查询单个结果的。@TestpublicvoidselectById(){Useruser=userMapper.selectById(1739970502337392641L);System.out.println(user);}//根据多个主键id批量查询结果的@TestpublicvoidselectIds(){Listlist=Arrays.asList(1739970502337392641L,1739983903621038082L,

【已解决】整合mybatis的时候,报java.lang.IllegalArgumentException: Unable to instantiate org.mybatis.spring.boot

一、问题还原:初次搭建SpringBoot整合Mybatis框架,导入依赖的版本是3.0.1,我本地的jdk是1.8报错信息:二、问题解决方法降低依赖版本        org.mybatis.spring.bootmybatis-spring-boot-starter2.1.3问题解决,版本不兼容而已

Spring Boot学习随笔- 集成MyBatis-Plus,第一个MP程序(环境搭建、@TableName、@TableId、@TableField示例)

学习视频:【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备!引言MyBatis-Plus是一个基于MyBatis的增强工具,旨在简化开发,提高效率。它扩展了MyBatis的功能,提供了许多实用的特性,包括强大的CRUD操作、条件构造器、分页插件、代码生成器等。MyBatis-Plus的目标是简化开发,提供更便捷的操作数据库的方式。MyBatis-Plus的主要特性包括:CRUD操作的增强功能:MyBatis-Plus提供了丰富的CRUD操作方法,包括批量插入、批量更新、链式查询等,简化了数据操作的流程。条件构造器:MyBatis-Plus内

transaction 事务 开启 关闭 不使用 手动控制 spring springboot mybatis

springspringbootmybatis事务配置Transactional的Propagation开启事务关闭事务_globalcoding省流:单元测试时,发现默认是使用事务。想要关闭事务,使用:@Transactional(propagation=Propagation.NOT_SUPPORTED)正文:默认是使用事务做单元测试的时候,发现默认是使用事务的。代码和日志如下:@RunWith(SpringRunner.class)@MybatisPlusTest@AutoConfigureTestDatabase(replace=AutoConfigureTestDatabase.Re

MyBatis中获取参数值的两种方式:${} 和 #{},以及它们之间区别是什么?

MyBatis中获取参数值的两种方式${}:的本质就是字符串拼接#{}:的本质就是占位符赋值①使用${}占位符,在字符串拼接的方式拼接sql,若为字符串类型或为日期类型的字段进行赋值时,需要手动加单引号②使用#{}占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,自动添加单引号MyBatis中的#{}和${}的区别是什么?--前者动态参数,后者字符串拼接首先,MyBatis提供的#号占位符和$占位符,都是实现动态SQL的一种方式,通过这两种方式把参数传递给xxxMapper.XML在执行SQL操作之前,MyBatis会对这两种占位符进行动态解析‘#’号占位符,等同于jdb