MyBatis批量插入数据优化,那叫一个优雅! 在项目开发中,我们经常需要进行大量数据的批量插入操作。然而,在实际应用中,插入大量数据时性能常常成为一个瓶颈。在我最近的项目中,我发现了一些能够显著提升批量插入性能的方法,并进行了一系列实验来验证它们的有效性。 今日内容介绍,大约花费15分钟 图片 背景介绍 我们使用了 mybatis-plus 框架,并采用其中的 saveBatch 方法进行批量数据插入。然而,通过深入研究源码,我发现这个方法并 开发运维 2023-12-31 张二河
SpringBoot项目实现日志打印SQL明细(包括SQL语句和参数)几种方式 一、前言 大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 我们在开发项目的时候,都会连接数据库。有时候遇到问题需要根据我们编写的SQL进行分析,但如果不进行一些开发或者配置的话,这些SQL是不会打印到控制台的,它们默认是隐藏的。下面给大家介绍几种常用的方法。 二、打印方式 1. 代码形式 Myba 数据运维 2023-12-26 向阳逐梦
慎用,MybatisPlus这个方法可能导致死锁 1 场景还原 1.1 版本信息 MySQL版本:5.6.36-82.1-log Mybatis-Plus的starter版本:3.3.2 存储引擎:InnoDB 1.2 死锁现象 A同学在生产环境使用了Mybatis-Plus提供的 com.baomidou.mybatisplus.extension.service.IService#saveOrUpdate(T, com.baomidou.m 数据运维 2023-12-13 向阳逐梦
聊一聊 Spring Data JPA 中的那些日常实践 一直以来,团队在使用 ORM 框架上都是比较随意的,一开始是鼓励大家使用 mybatis,主要是期望团队同学可以自 己写写 SQL,不至于写 SQL 手生;但是从实际工作中来看,我们并不会涉及到很多非常复杂的 SQL 语句,这就导致 了大家会消耗相当部分的精力在写一些重复性并且没有什么技术难度的 SQL,对于基于数据库驱动的业务来说,当业务 涉及到的表结构越多时,这种问题就越突出。于是我在项目的脚 数据运维 2023-11-27 向阳逐梦
MybatisPlus很好,但是我被它坑了! 作者今天在开发一个后台发送消息的功能时,由于需要给多个用户发送消息,于是使用了 mybatis plus 提供的 saveBatch() 方法,在测试环境测试通过上预发布后,测试反应发送消息接口很慢得等 5、6 秒,于是我就登录线上环境查看执行日志,发现是 mybatis plus 提供的 saveBatch() 方法执行很慢导致,于是也就有了本篇文章。 mybatis plus 是一个流行的 O 开发运维 2023-10-31 贤蛋大眼萌
原来PageHelper还有这个坑! 哈喽,大家好,我是了不起。 Mybatis插件PageHelper很多人都会使用吧,有一次Copy的时候忘了去掉PageHelper.startPaeg()方法,结果导致数据查不到,debug 的时候发现第一次查询没有数据,再查询一次就有数据了,这个坑竟然也花了一点时间,那么今天就把这个坑填平。 这里我们一起看看其原理以及日常使用注意事项。 如何使用PageHelper PageHelper是My 数据运维 2023-10-30 共饮一杯
Mybatis占位符#和$的区别?源码解读 本文针对笔者日常开发中对 Mybatis 占位符 #{} 和 ${} 使用时机结合源码,思考总结而来 • Mybatis 版本 3.5.11 • Spring boot 版本 3.0.2 • mybatis-spring 版本 3.0.1 • github地址:https://github.com/wayn111, 欢迎大家关注,点个star 一. 启动时,mybatis-spring解析xml文 数据运维 2023-10-27 醒在深海的猫
SpringMybatis的整合 Spring和MyBatis是两个流行的Java框架,分别用于依赖注入和数据访问。搭配使用Spring和MyBatis可以更好地管理应用程序的组件和数据访问操作。 以下是Spring和MyBatis搭配使用的详细步骤: 添加依赖:在项目的构建工具中,添加Spring和MyBatis的依赖项。这样可以让项目能够使用这两个框架的功能。 配置数据源:在Spring配置文件中,需要配置数据源连接信息,以便 数据运维 2023-10-27 法医
【MyBatis_01MyBatis和MyBatisPlus对枚举类型的处理 之前写过一篇Spring Data Jpa对于枚举类型的处理的文章,为了自己的小强迫症,就顺手写一下Mybatis/MyBatisPlus框架对枚举了类型的处理。 本文主要有以下内容: MyBatis对枚举类型的处理 MyBatisPlus对枚举类型的处理 前置条件:请正确搭建Spring Boot项目工程并引入相关的依赖。 MyBatis对枚举类型的处理 MyBatis对枚举类型的处理比MyBa 开发运维 2023-10-15 捡田螺的小男孩
Mybatis源码解析之执行SQL语句 | 京东云技术团队 mybatis操作数据库的过程 // 第一步:读取mybatis-config.xml配置文件 InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); // 第二步:构建SqlSessionFactory(框架初始化) SqlSessionFactory sqlSessionFactory = n 开发运维 2023-10-12 大树
MyBatisPlus精讲和使用注意事项 🍓 简介:java系列技术分享(👉持续更新中...🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢迎点赞 👍 收藏 ⭐留言 📝 一、 Mybatis-Plus是什么? 官方文档地址 :www.baomidou.com/ MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBat 开发运维 2023-10-07 剑圣无痕
Mybatis3全篇学习笔记 Mybatis简介 Mybatis3简介 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 快速上 开发运维 2023-10-05 法医
Java mybatisplus集成乐观锁 相关概念 悲观锁(Pessimistic Lock) 每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁 乐观锁(Optimistic Lock) 每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制 mybatis-plus集成乐观锁 实体类添加@Version /** * 版本号,用乐观锁 */ @ 开发运维 2023-10-05 Escape
七张图解锁Mybatis整体脉络,让面试官对你刮目相看 本系列文章皆在从细节着手,由浅入深的分析Mybatis框架内部的处理逻辑,带你从一个全新的角度来认识Mybatis的工作原理。 思考,输出,沉淀。用通俗的语言陈述技术,让自己和他人都有所收获。 作者:毅航😜 在过去的一个月中,我们以使用MyBaits时最简单的四行代码开始, 由浅入深的分析MyBatis执行sql的秘密,感兴趣的可翻阅专栏 Mybatis源码分析中的相关文章进行查看。 MyBati 开发运维 2023-10-01 法医
MybatisPlus(1) 前言🍭 ❤️❤️❤️Spring专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring + Spring MVC + MyBatis专栏 MyBatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它提供了一些常用的 CRUD 操作,以及分页、动态 SQL 等常用功能,同时也支持自定义 S 开发运维 2023-09-29 共饮一杯
更好用的Mybatis Plus:Mybatis Flex(下) 更好用的Mybatis Plus:Mybatis Flex(下) 前言 上篇文章讲了 Mybaits Flex 的基础用法,这次讲一下 Mybatis Flex 的进阶用法,包含了一些 Mybatis Flex 核心的一些功能。(以下简称 MF) 逻辑删除 上篇文章讲到了 @Column 注解,其中有个属性为 isLogicDelete ,当这个属性为 true 时,则标识该字段为逻辑删除字段,M 开发运维 2023-09-28 宇宙之一粟
更好用的Mybatis Plus:Mybatis Flex(上) 更好用的的MybatisPlus:MybatisFlex(上) 前言 Mybatis 是我们常用的一个 ORM 框架,而 MybatisPlus (以下简称 MP) 则是对 Mybatis 进行了一层封装,便捷了我们的开发工作,但是由于其只能进行单表操作,所以有些功能还是需要在 XML 中手写 SQL。MybatisFlex 就是为了解决这类问题的框架。 摘自官网:MyBatis-Flex 是一个 开发运维 2023-09-27 捡田螺的小男孩
SpringBoot整合MybatisPlus多数据源 前言 随着业务的不断扩展和复杂度的增加,我们在开发过程中往往需要访问多个数据库。比如:我们可能需要同时访问主数据库和从数据库,或者访问多个独立的数据库来处理不同的业务逻辑。这时候,我们就需要使用多数据源来实现对多个数据库的操作。 SpringBoot整合Mybatis-plus 在之前的文章SpringBoot整合MyBatis-Plus已经详细介绍过,本文就不在多做介绍了。 进行整合 引入pom 开发运维 2023-09-25 宇宙之一粟
MyBatis 简介:优雅的持久层框架 MyBatis 是一个流行的Java持久层框架,它的目标是简化数据库交互,提供更好的控制和性能。相对于其他ORM框架,MyBatis以其灵活性、易用性和出色的性能而脱颖而出。 为什么选择 MyBatis? 1. 灵活性 MyBatis 不会强迫你按照特定的规则来操作数据库。你可以编写自己的SQL语句,定义自己的映射规则,以满足项目的需求。这种灵活性是MyBatis的一大优势。 2. 性能优化 My 开发运维 2023-09-24 捡田螺的小男孩
MyBatis查询数据库(3) 前言🍭 ❤️❤️❤️Spring专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring + Spring MVC + MyBatis专栏 前面我们讲解了MyBatis增删改查基本操作,下面我们来深入了解MyBatis其中不同和需要注意的地方。 一、查询操作🍭 1、单表查询🍉 下面我们来实现⼀下根据用户 id 查询用户信息的功能 UserController 实现代码如下: 开发运维 2023-09-24 竹子爱熊猫