mybatis

敖正炀10 小时前
mybatis
MyBatis 性能调优:批处理、流式查询与 SQL 优化前文《MyBatis 架构全解》中详细拆解了 Executor 体系——SimpleExecutor、ReuseExecutor 和 BatchExecutor 三种策略各有分工。其中 BatchExecutor 专门为批量操作而设计,ReuseExecutor 则通过复用 Statement 减少 SQL 预编译次数。在实际项目中,批处理和流式查询是影响系统吞吐量的两大杠杆,而动态 SQL 的优化则直接关乎缓存命中率和数据库执行计划复用。本文将聚焦这些具体的性能优化技术,从源码层面揭示 MyBatis
敖正炀10 小时前
mybatis
初始化流程的完整串联:从 XML 到 SqlSessionFactory在之前的系列中,我们深入剖析了 MappedStatement、BoundSql、Executor 等运行时核心组件的运作机制。然而,这些对象在 MyBatis 启动时是如何被凭空创建出来的?mybatis-config.xml 和 UserMapper.xml 又是如何被解析成 Configuration 对象中的一个个 MappedStatement?本文回到 MyBatis 生命周期的起点,完整串联从 XML 文件到 SqlSessionFactory 的初始化全链路。
2301_7717172111 小时前
java·spring boot·mybatis
Spring Boot 自动配置核心注解一句话:在 Spring 启动时,根据“是否存在某些类 / Bean / 配置”,自动创建并管理一些 Bean。
MegaDataFlowers12 小时前
mybatis
使用MyBatisX快速生成CRUD参考视频:MyBatisPlus教程,一套玩转mybatisplus框架,mybatis-plus轻松上手 点击观看
敖正炀12 小时前
mybatis
插件开发与拦截链——分页、脱敏、多租户实战在前文《MyBatis 架构全解》中,我们已经分析了 InterceptorChain.pluginAll 如何利用 JDK 动态代理将多个拦截器织入责任链,按序包裹 Executor、StatementHandler、ParameterHandler、ResultSetHandler 四大核心对象。拦截链的门槛并不在于理解代理机制本身,而在于:如何依据业务需求精确选择拦截点?如何安全地改写即将执行的 SQL ?如何保证多个横切关注点在责任链中协调运作?本文将以三个高价值实战场景——分页、数据脱敏、多租户
敖正炀13 小时前
mybatis
MyBatis 架构全解:SqlSession、Executor 与 StatementHandler前文《MyBatis 与 Spring 整合原理》详细剖析了 MapperScannerRegistrar、MapperFactoryBean 和 SqlSessionTemplate 如何利用 Spring 扩展点将 MyBatis 无缝接入 Spring 容器。然而,当 Mapper 代理最终调用 SqlSession.selectOne() 时,MyBatis 内部到底发生了什么?SqlSession 如何将请求委托给 Executor?StatementHandler 如何封装 JDBC 的 Pr
敖正炀13 小时前
mybatis
一级/二级缓存深度:生命周期、脏读与生产最佳实践前文详细剖析了 MyBatis 的 Executor 体系,其中 BaseExecutor.query 在执行数据库查询前,会先检查 localCache——这便是 MyBatis 一级缓存的入口。而在 CachingExecutor 中,二级缓存则在更外层发挥作用。MyBatis 的缓存设计初衷是在单次 SqlSession 或单机环境下减少数据库查询,但在现代分布式和 Spring 整合环境中,这些缓存机制常常引发令人困惑的“脏读”问题,甚至在生产环境中被建议关闭。本文将深入这层缓存体系的内部,揭示其
空中海16 小时前
mybatis
MyBatis 基础认知、配置体系与核心映射本文件覆盖 MyBatis 从入门到高级的基础能力:它解决什么问题、和 JDBC / JPA 的区别、核心运行流程、全局配置、Mapper 注册、参数绑定、基本 CRUD、最小 Demo,以及入门到专家的基础面试题答案。
空中海16 小时前
mybatis
05 MyBatis 架构设计、渐进式综合项目与专家题库本文件把 MyBatis 知识整合为可落地的系统能力:数据访问层架构、主线项目演进、模块边界、事务边界、多数据源、代码规范、专家清单和完整面试题答案。
空中海18 小时前
spring boot·后端·mybatis
03 MyBatis Spring Boot 集成、事务、测试与工程化体系本文件覆盖 MyBatis 与 Spring / Spring Boot 的工程化实践:Starter 自动配置、Mapper 扫描、事务边界、SqlSession 生命周期、测试策略、代码生成、目录规范、多环境配置、主线项目基础落地。
Nicander3 天前
后端·mybatis
理解 mybatis 源码:vibe-coding一个mini-mybatis来源: github.com/Nicander93/…学习 MyBatis 时,如果一上来就看 SqlSession、MapperProxy、MappedStatement,很容易觉得这些概念是凭空出现的。
庞轩px3 天前
java·sql·mysql·mybatis·实习经历·n+1问题·join联表查询
致远互联实习复盘:一条SQL替代300次循环查询,组织架构选择器从5秒降到300毫秒入职致远互联的第二周,我在测试审批流程时发现一个“难忍”的问题:组织架构选择器,点下去要等 5 秒。这个组件不归我负责。但浏览器转圈 5 秒这件事,对任何一个开发者来说都像一根刺——它意味着某处一定有一个糟糕的 SQL 或循环在静静消耗用户的时间。
952363 天前
后端·spring·mybatis
MyBatis持久层:持久化操作的层,通常指数据访问层(DAO),用来操作数据库在mapper包中创建持久层接口,需要加上@Mapper注解
misL NITL4 天前
tomcat·intellij-idea·mybatis
idea、mybatis报错Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required这个错误通常与MyBatis的配置有关,涉及到MyBatis的SqlSessionFactory或SqlSessionTemplate的配置问题。以下是一些可能的解决方案:
是宇写的啊5 天前
java·开发语言·mybatis
MyBatis-Plus快捷键:ctrl + f12查看当前类的所有方法。快捷键:双击Shift,全局搜索类名首先,这个mybatis-plus只是对于我们使用mybatis的基础上进行的一种增强,我们前面写mybatis相关的增删改查操作,是不是要写接口,还要自己在xml写sql语句,当然这是xml写法比较复杂,我没说那个只在接口上面写sql语句的那种写法,反正我感觉下来,尤其是那种动态sql语句,写起来比较麻烦,所以我们的mybatis-plus就是为了简化我们写各种复杂sql语句的一种简化,它呢,化繁为简,是真的香!
工作log6 天前
spring boot·mybatis·java-rabbitmq
Spring Boot 3.5 + MyBatis Plus + RabbitMQ:打造 AI 驱动的慢 SQL 监控与优化系统一套面向高并发场景的智能性能诊断方案,自动捕获慢请求与慢 SQL,通过 RabbitMQ 削峰异步处理,调用大模型生成优化建议并持久化,实现 “从发现到建议”全自动 SQL 治理闭环。
河阿里6 天前
数据库·mybatis
MyBatis-Plus:MyBatis的进阶开发适用版本:MyBatis-Plus 3.5.3.1(最新稳定版) 适用场景:Java SpringBoot 企业级开发 核心定位:MyBatis-Plus(简称 MP)是 MyBatis 的增强工具,在 MyBatis 基础上只做增强不做改变,极简封装单表 CRUD、条件构造、分页、逻辑删除等企业常用功能,彻底消灭冗余 XML/注解 SQL,提升开发效率。
橙子圆1236 天前
sql·tomcat·mybatis
Mybatis之动态sql前面我们学习如何使用 Mybatis 框架来操作数据库,可以发现相比于 JDBC 来说,Mybatis 相当的简单,与 JDBC 繁琐的步骤不同,Mybatis 只需要创建一个接口类,然后可以选择使用注解的方式或者XML的方式来实现该接口类中的方法即可,后续Service层的代码只需要调用mapper接口类中的方法即可实现对应的SQL语句的功能。相比于XML的方式,注解的实现可谓是简单易上手,并且可读性也很好,但是XML也有它自己的好处,现在我们就来学习哪种场景下使用XML更好 我们在某些平台注册账号时,
冷小鱼7 天前
java·tomcat·mybatis
MyBatis 与 MyBatis-Plus:从入门到精通的完整指南在 Java 后端开发中,持久层框架的选择直接影响开发效率和代码质量。MyBatis 作为经典的半自动 ORM 框架,以其灵活的 SQL 控制能力深受开发者喜爱;而 MyBatis-Plus 则在此基础上进一步封装,大幅提升了开发效率。本文将从基础概念出发,逐步深入,带你全面理解两者的关系与使用场景。
香香甜甜的辣椒炒肉7 天前
mybatis
SpringMVC高级应用和MyBatis-Plus的概念和使用一、SpringMVC的异常处理 1、什么是SpringMVC的异常处理 SpringMVC异常处理在控制器方法抛出异常,不希望 控制器停止运行,必须对控制器方法抛出异常按异常处理 流程进行处理。 2、SpringMVC异常处理的方式 1)、在SpringMVC配置异常处理器 2)、编写类实现SpringMVC异常处理接口 3)、编写一个类提供@ControllerAdvice 3、SpringMVC异常处理的标准步骤 第一步:控制器方法可能出现异常 第二步:在配置文件或者编写类实现异常处理过程。 注意: