草庐IT

Fluent-MyBatis

全部标签

Mybatis中#和$的区别

在使用mybatis框架开发项目编写SQL语句的时候,经常需要用到变量替换值,那么用来替换变量值的操作经常用到$和#这两个符号,同样在一些Java面试中也经常被问到它们的区别。那么它们在使用上面有什么区别呢?下面根据使用情况分析总结,两者的区别。#占位符的特点1.MyBatis处理#{}占位符,使用的JDBC对象是PreparedStatement对象,执行sql语句的效率更高。2.使用PreparedStatement对象,能够避免sql注入,使得sql语句的执行更加安全。3.#{}常常作为列值使用,位于sql语句中等号的右侧;#{}位置的值与数据类型是相关的。$占位符的特点 1.MyBat

Mybatis中#和$的区别

在使用mybatis框架开发项目编写SQL语句的时候,经常需要用到变量替换值,那么用来替换变量值的操作经常用到$和#这两个符号,同样在一些Java面试中也经常被问到它们的区别。那么它们在使用上面有什么区别呢?下面根据使用情况分析总结,两者的区别。#占位符的特点1.MyBatis处理#{}占位符,使用的JDBC对象是PreparedStatement对象,执行sql语句的效率更高。2.使用PreparedStatement对象,能够避免sql注入,使得sql语句的执行更加安全。3.#{}常常作为列值使用,位于sql语句中等号的右侧;#{}位置的值与数据类型是相关的。$占位符的特点 1.MyBat

SpringBoot关闭MyBatis一级缓存的方法

原文网址:SpringBoot关闭MyBatis一级缓存的方法_IT利刃出鞘的博客-CSDN博客简介说明    本文介绍SpringBoot关闭MyBatis一级缓存的方法。备注一级缓存只有在开启了数据库事物并且处于一个被事物标注的方法下【直接或间接】才会生效。为什么要关闭MyBatis一级缓存        默认情况下,MyBatis会开启一级缓存:对同样的查询将不再查询数据库,直接从缓存中获取。        开启一级缓存存在的问题:如果不通过MyBatis修改数据,而是通过Navicat等工具,那么缓存中的数据不会被删除,导致MyBatis查到的还是以前的数据。关闭MyBatis一级缓存

SpringBoot关闭MyBatis一级缓存的方法

原文网址:SpringBoot关闭MyBatis一级缓存的方法_IT利刃出鞘的博客-CSDN博客简介说明    本文介绍SpringBoot关闭MyBatis一级缓存的方法。备注一级缓存只有在开启了数据库事物并且处于一个被事物标注的方法下【直接或间接】才会生效。为什么要关闭MyBatis一级缓存        默认情况下,MyBatis会开启一级缓存:对同样的查询将不再查询数据库,直接从缓存中获取。        开启一级缓存存在的问题:如果不通过MyBatis修改数据,而是通过Navicat等工具,那么缓存中的数据不会被删除,导致MyBatis查到的还是以前的数据。关闭MyBatis一级缓存

spring boot集成mybatis-plus——Mybatis Plus 多表联查(包含分页关联查询,图文讲解)...

MybatisPlus多表联查(包含分页关联查询,图文讲解) 更新时间2023-01-0321:41:38大家好,我是小哈。本小节中,我们将学习如何通过MybatisPlus实现多表关联查询,以及分页关联查询。表结构本文以查询用户所下订单,来演示MybatisPlus的关联查询,数据库表除了前面小节中已经定义好的用户表外,再额外创建一张订单表,然后插入一些测试数据,执行脚本如下:DROPTABLEIFEXISTSuser;CREATETABLE`t_user`(`id`bigint(20)UNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'主键ID',`name`varc

spring boot集成mybatis-plus——Mybatis Plus 多表联查(包含分页关联查询,图文讲解)...

MybatisPlus多表联查(包含分页关联查询,图文讲解) 更新时间2023-01-0321:41:38大家好,我是小哈。本小节中,我们将学习如何通过MybatisPlus实现多表关联查询,以及分页关联查询。表结构本文以查询用户所下订单,来演示MybatisPlus的关联查询,数据库表除了前面小节中已经定义好的用户表外,再额外创建一张订单表,然后插入一些测试数据,执行脚本如下:DROPTABLEIFEXISTSuser;CREATETABLE`t_user`(`id`bigint(20)UNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'主键ID',`name`varc

MyBatis-Plus--使用雪花算法生成主键ID--使用/分析

原文网址:MyBatis-Plus--使用雪花算法生成主键ID--使用/分析_IT利刃出鞘的博客-CSDN博客简介说明    本文介绍MyBatis-Plus如何使用其自带的雪花算法生成主键ID。MyBatis-Plus自带的雪花算法MyBatis-Plus自带雪花算法MyBatis-Plus默认使用雪花算法生成ID。即:@TableId的type属性默认是ASSIGN_ID若没有配置机器号,则默认生成机器号(通过物理网卡地址和jvm的进程ID生成机器号)。雪花算法是需要指定不同的机器号的,如果机器号相同,则可能会生成相同的ID。MyBatis-Plus的雪花算法示例建库建表DROPDATAB

MyBatis-Plus--使用雪花算法生成主键ID--使用/分析

原文网址:MyBatis-Plus--使用雪花算法生成主键ID--使用/分析_IT利刃出鞘的博客-CSDN博客简介说明    本文介绍MyBatis-Plus如何使用其自带的雪花算法生成主键ID。MyBatis-Plus自带的雪花算法MyBatis-Plus自带雪花算法MyBatis-Plus默认使用雪花算法生成ID。即:@TableId的type属性默认是ASSIGN_ID若没有配置机器号,则默认生成机器号(通过物理网卡地址和jvm的进程ID生成机器号)。雪花算法是需要指定不同的机器号的,如果机器号相同,则可能会生成相同的ID。MyBatis-Plus的雪花算法示例建库建表DROPDATAB

springboot+mybatis如何快速插入大量数据

在公司业务开发过程中,我们经常会遇到往数据库表中插入大量数据的场景,比如excel批量导入数据。那么该如何快速地插入数据呢?我们可以考虑使用批量插入来实现,该方案实测每秒能达到35000条,后附具体实现代码。接下来我就给大家说一下实现方式。一.JDBC实现方案用一个for循环,把数据一条一条地插入;生成一条插入sql,类似这种insertintouser(name,pwd)values('aa','123'),('cc','123')...第一种方案,是用for语句循环插入:该方案的优势在于,JDBC中的PreparedStatement有预编译功能,预编译之后会缓存起来。之后SQL执行会比较

springboot+mybatis如何快速插入大量数据

在公司业务开发过程中,我们经常会遇到往数据库表中插入大量数据的场景,比如excel批量导入数据。那么该如何快速地插入数据呢?我们可以考虑使用批量插入来实现,该方案实测每秒能达到35000条,后附具体实现代码。接下来我就给大家说一下实现方式。一.JDBC实现方案用一个for循环,把数据一条一条地插入;生成一条插入sql,类似这种insertintouser(name,pwd)values('aa','123'),('cc','123')...第一种方案,是用for语句循环插入:该方案的优势在于,JDBC中的PreparedStatement有预编译功能,预编译之后会缓存起来。之后SQL执行会比较