Tagged articles

MyBatis

774 articles · Page 2 of 8
Java Captain
Java Captain
Jul 16, 2025 · Backend Development

Ensuring Transaction Rollback in Multi‑Threaded Spring Batch Inserts

This article explains why the @Transactional annotation fails in multithreaded Spring batch insert scenarios, demonstrates the problem with code examples, and shows how to use SqlSession for manual commit and rollback to guarantee atomicity across all threads.

JavaMyBatisSpring
0 likes · 10 min read
Ensuring Transaction Rollback in Multi‑Threaded Spring Batch Inserts
Java Tech Enthusiast
Java Tech Enthusiast
Jul 9, 2025 · Backend Development

Boost Your Java CRUD Speed with MybatisPlusPro: A Complete Guide

This article introduces MybatisPlusPro, an extension of MyBatis‑Plus that automates controller‑level CRUD, pagination, dynamic queries, data auditing, permission control, and performance optimizations, showing how developers can dramatically reduce code and improve efficiency in Java backend projects.

CRUDData AuditingMyBatis
0 likes · 10 min read
Boost Your Java CRUD Speed with MybatisPlusPro: A Complete Guide
Shepherd Advanced Notes
Shepherd Advanced Notes
Jul 9, 2025 · Databases

Comprehensive Guide to Fastest Batch Update Techniques in MyBatis

This article systematically compares six MyBatis batch‑update approaches—including simple for‑loop, foreach XML, CASE WHEN, ON DUPLICATE KEY UPDATE, REPLACE INTO, and MyBatis‑Plus—by presenting concrete code, execution‑time measurements on 10 000 rows, and analysis of I/O, SQL parsing, scalability, and database compatibility, ultimately recommending the most performant and maintainable method for different scenarios.

Batch UpdateCASE WHENMyBatis
0 likes · 13 min read
Comprehensive Guide to Fastest Batch Update Techniques in MyBatis
Architect's Tech Stack
Architect's Tech Stack
Jul 7, 2025 · Databases

Boost MyBatis Batch Inserts: Why foreach Slows Down and How to Fix It

This article explains why using MyBatis foreach for bulk inserts can cause severe performance degradation, analyzes the underlying parsing and executor issues, and provides practical solutions such as using ExecutorType.BATCH and limiting batch sizes to achieve fast, reliable batch insertion.

Batch InsertExecutorType.BATCHMyBatis
0 likes · 8 min read
Boost MyBatis Batch Inserts: Why foreach Slows Down and How to Fix It
Architecture Digest
Architecture Digest
Jul 3, 2025 · Backend Development

How to Implement Efficient MyBatis Streaming Queries in Spring Boot

This article explains what streaming queries are, why MyBatis's Cursor requires an open database connection, and presents three practical solutions—using SqlSessionFactory, TransactionTemplate, or @Transactional—to correctly implement MyBatis streaming queries in Spring applications while avoiding common pitfalls.

CursorDatabase ConnectionJava
0 likes · 6 min read
How to Implement Efficient MyBatis Streaming Queries in Spring Boot
Top Architect
Top Architect
Jun 27, 2025 · Databases

How to Implement High‑Performance Database Sharding with ShardingSphere and SpringBoot

This article walks through the complete process of designing, configuring, and coding a sharding solution for loan and repayment tables—including database basics, historical data migration, backend query refactoring, a three‑write strategy, scheduled consistency checks, and full SpringBoot/ShardingSphere implementation details.

MyBatisPerformanceShardingSphere
0 likes · 20 min read
How to Implement High‑Performance Database Sharding with ShardingSphere and SpringBoot
JD Tech
JD Tech
Jun 18, 2025 · Backend Development

How to Instantly Spot Problematic SQL with a MyBatis Coloring Interceptor

This article explains how to implement a lightweight MyBatis interceptor that annotates SQL statements with their mapper ID and execution stack, enabling developers to quickly locate performance bottlenecks during high‑traffic events, and also shows an AspectJ alternative for non‑MyBatis projects.

InterceptorJavaMyBatis
0 likes · 30 min read
How to Instantly Spot Problematic SQL with a MyBatis Coloring Interceptor
Java Architect Essentials
Java Architect Essentials
Jun 14, 2025 · Backend Development

Why System.out.println() Can Kill Your MyBatis Performance and How to Fix It

This article explains why MyBatis's default StdOutImpl logging, which relies on System.out.println, blocks threads and creates severe concurrency bottlenecks, and demonstrates how to replace it with asynchronous logging implementations like Slf4jImpl, configure log levels, and even create custom Log classes for optimal performance.

ConcurrencyJavaMyBatis
0 likes · 8 min read
Why System.out.println() Can Kill Your MyBatis Performance and How to Fix It
Architect's Tech Stack
Architect's Tech Stack
Jun 11, 2025 · Backend Development

Master Dynamic Data Permissions in Java with easy-data-scope

This tutorial walks you through building a Spring Boot project that uses the easy-data-scope library to inject dynamic SQL for fine‑grained data permissions, covering database setup, Maven dependencies, core annotations, custom rule implementation, and practical query examples.

Data PermissionMyBatisSpring Boot
0 likes · 11 min read
Master Dynamic Data Permissions in Java with easy-data-scope
JD Tech Talk
JD Tech Talk
Jun 10, 2025 · Backend Development

Instantly Spot Problematic SQL with MyBatis Interceptor Coloring

This article explains how to use SQL coloring in MyBatis by implementing a lightweight interceptor or an AspectJ weave to annotate each SELECT statement with its mapper ID and execution stack, enabling rapid identification of performance bottlenecks during high‑traffic events.

AspectJDatabase MonitoringJava
0 likes · 29 min read
Instantly Spot Problematic SQL with MyBatis Interceptor Coloring
JD Cloud Developers
JD Cloud Developers
Jun 10, 2025 · Backend Development

How to Instantly Spot Problematic SQL with MyBatis Interceptor Coloring

This article introduces a lightweight SQL‑coloring technique for MyBatis that annotates each executed query with its mapper ID and call‑stack, enabling developers to pinpoint performance bottlenecks instantly without hunting through multiple code paths, and provides both MyBatis interceptor and AspectJ weaving implementations.

AspectJInterceptorJava
0 likes · 30 min read
How to Instantly Spot Problematic SQL with MyBatis Interceptor Coloring
Top Architect
Top Architect
May 10, 2025 · Backend Development

Optimizing a High‑Concurrency Backend Interface: Reducing Response Time from 30 seconds to 0.8 seconds

This article presents a real‑world case study of a high‑traffic backend API that originally took 30 seconds to process over two million records, detailing problem diagnosis, SQL and Java code analysis, and a series of optimizations—including SQL rewrites, database‑side aggregation, and Caffeine caching—that ultimately cut the response time to under one second.

BackendCaffeine CacheMyBatis
0 likes · 13 min read
Optimizing a High‑Concurrency Backend Interface: Reducing Response Time from 30 seconds to 0.8 seconds
Java Captain
Java Captain
May 8, 2025 · Backend Development

Guide to Using easy-data-scope for Dynamic SQL Data Permissions in Spring Boot

This tutorial explains how to set up and use the easy-data-scope library in a Spring Boot project to implement dynamic SQL data‑permission rules with MyBatis, covering database preparation, Maven dependencies, core annotations, configuration files, and example queries for various permission scenarios.

Data PermissionJavaMyBatis
0 likes · 10 min read
Guide to Using easy-data-scope for Dynamic SQL Data Permissions in Spring Boot
Selected Java Interview Questions
Selected Java Interview Questions
May 7, 2025 · Backend Development

Easy-Data-Scope: A Simple Data‑Permission Library for MyBatis and Spring Boot

This article introduces easy-data-scope, a lightweight Java library that enables dynamic SQL‑based data permission control for MyBatis, MyBatis‑Plus, and MyBatis‑Flex, showing how to set up the project, configure dependencies, define annotations, and apply various permission scenarios with code examples.

Data PermissionMyBatisSQL
0 likes · 9 min read
Easy-Data-Scope: A Simple Data‑Permission Library for MyBatis and Spring Boot
macrozheng
macrozheng
Apr 30, 2025 · Backend Development

Master Dynamic Data Permissions in Spring Boot with Easy-Data-Scope

This tutorial walks through setting up the easy-data-scope library in a Spring Boot project, configuring the database and dependencies, defining DataScopeInfo, using the @DataScope annotation, and demonstrating various permission scenarios such as filtering by ID, age, merging conditions, and custom templates.

Data PermissionMyBatisSpring Boot
0 likes · 11 min read
Master Dynamic Data Permissions in Spring Boot with Easy-Data-Scope
Java Tech Enthusiast
Java Tech Enthusiast
Apr 29, 2025 · Backend Development

Implementing Data Isolation with MyBatis Interceptor and Custom Annotations

The article describes how to enforce environment‑based data isolation in a shared database by adding an env column, using a MyBatis interceptor to inject and filter this field at runtime, and employing a custom @InvokeChainSkipEnvRule annotation with AOP to selectively bypass the rule, keeping existing code untouched.

AOPCustom AnnotationData Isolation
0 likes · 9 min read
Implementing Data Isolation with MyBatis Interceptor and Custom Annotations
Code Ape Tech Column
Code Ape Tech Column
Apr 27, 2025 · Backend Development

Using easy-data-scope for Dynamic SQL Data Permissions in Spring Boot

This guide demonstrates how to integrate the easy-data-scope library into a Spring Boot project to implement dynamic, annotation‑driven SQL data permissions with MyBatis, covering project setup, dependency configuration, core interfaces, annotation options, and practical query examples.

BackendData PermissionJava
0 likes · 7 min read
Using easy-data-scope for Dynamic SQL Data Permissions in Spring Boot
Java Captain
Java Captain
Apr 23, 2025 · Backend Development

Custom MyBatis TypeHandler for Automatic JSON and Enum Conversion

This article explains how to create custom MyBatis TypeHandler classes to automatically convert Java objects—such as JSON strings and enum codes—to appropriate JDBC types, simplifying data persistence in Spring Boot applications and improving code maintainability.

EnumJSONJava
0 likes · 9 min read
Custom MyBatis TypeHandler for Automatic JSON and Enum Conversion
Java Captain
Java Captain
Apr 22, 2025 · Backend Development

Implementing Data Isolation with MyBatis Interceptor and Custom Annotations in Java

This article describes how to achieve multi‑environment data isolation in a Java backend by adding an env field to tables, using a MyBatis interceptor with JSqlParser to rewrite SQL, and applying custom annotations and AOP to control environment‑specific logic while preserving existing business code.

BackendCustom AnnotationData Isolation
0 likes · 9 min read
Implementing Data Isolation with MyBatis Interceptor and Custom Annotations in Java
macrozheng
macrozheng
Apr 16, 2025 · Backend Development

Which Java Technologies Are Truly Obsolete? A 2024 Guide for Developers

This article reviews common Java backend technologies, explains why JSP, Struts, Hibernate and several legacy tools are no longer worth learning, and highlights the essential concepts—especially deep mastery of Servlets—that modern Java developers should focus on in 2024.

HibernateMyBatisServlet
0 likes · 9 min read
Which Java Technologies Are Truly Obsolete? A 2024 Guide for Developers
Selected Java Interview Questions
Selected Java Interview Questions
Apr 15, 2025 · Backend Development

Design and Implementation of Data Permission in Backend Projects Using MyBatis Interceptor and Spring Boot Auto‑Configuration

This article explains a low‑intrusion data‑permission design for backend micro‑services, detailing resource and value‑rule definitions, RBAC modeling, MyBatis SQL interception implementation, Redis‑based permission retrieval, and Spring Boot auto‑configuration for easy enablement in production.

Data PermissionMyBatisRBAC
0 likes · 9 min read
Design and Implementation of Data Permission in Backend Projects Using MyBatis Interceptor and Spring Boot Auto‑Configuration
Selected Java Interview Questions
Selected Java Interview Questions
Apr 10, 2025 · Backend Development

Understanding PageHelper Issues and ThreadLocal Pitfalls in MyBatis

This article analyzes unexpected behaviors caused by PageHelper in a Java backend project, such as duplicate user registration, limited query results, and password‑reset errors, and explains how ThreadLocal pagination parameters, startPage(), and cleanup mechanisms lead to these problems while offering practical debugging tips.

BackendMyBatisSQL
0 likes · 11 min read
Understanding PageHelper Issues and ThreadLocal Pitfalls in MyBatis
Pan Zhi's Tech Notes
Pan Zhi's Tech Notes
Apr 10, 2025 · Backend Development

Hands‑On Guide: Build Your Own Code Generator (Can You Keep Up?)

This article walks through why repetitive CRUD code wastes development time, reviews existing generators like MyBatis‑Generator and MyBatis‑Plus, and then demonstrates step‑by‑step how to create a custom Java code generator using Freemarker, Maven, and SpringBoot, complete with template and demo code.

JavaMyBatisSpringBoot
0 likes · 11 min read
Hands‑On Guide: Build Your Own Code Generator (Can You Keep Up?)
Selected Java Interview Questions
Selected Java Interview Questions
Apr 2, 2025 · Backend Development

Implementing Environment-Based Data Isolation in MyBatis with Custom Interceptors and Annotations

This article describes a practical approach to achieve environment-based data isolation in a Java application by adding an 'env' field to tables, using a custom MyBatis interceptor to rewrite SQL, and defining annotations with AOP to control environment filtering, while discussing challenges and refactoring considerations.

AOPCustom InterceptorData Isolation
0 likes · 12 min read
Implementing Environment-Based Data Isolation in MyBatis with Custom Interceptors and Annotations
IT Architects Alliance
IT Architects Alliance
Mar 29, 2025 · Information Security

Database Data Masking Techniques: SQL, Java, and MyBatis-Mate Sensitive-Jackson Comparison

The article explains why data masking is essential for protecting sensitive information, then details three implementation methods—SQL, Java (with open‑source plugins), and the MyBatis‑Mate‑Sensitive‑Jackson ORM extension—comparing their principles, code examples, advantages, limitations, performance, suitable scenarios, and cost considerations.

JavaMyBatisSQL
0 likes · 17 min read
Database Data Masking Techniques: SQL, Java, and MyBatis-Mate Sensitive-Jackson Comparison
JD Tech
JD Tech
Mar 24, 2025 · Backend Development

SQL Coloring Plugin for MyBatis: Design, Implementation, and Usage Guide

This article describes a lightweight, non‑intrusive MyBatis plugin that adds identifiable coloring comments to SQL statements—embedding statementId, pFinderId, and optional custom data—to simplify SQL source tracing, improve slow‑SQL analysis, and support SELECT, INSERT, UPDATE, DELETE operations with minimal performance overhead.

BackendJavaMyBatis
0 likes · 12 min read
SQL Coloring Plugin for MyBatis: Design, Implementation, and Usage Guide
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Mar 12, 2025 · Backend Development

Deep Dive into MyBatis Core Components: Executor, StatementHandler, ParameterHandler, and ResultSetHandler

This article provides a comprehensive, English-language walkthrough of MyBatis's four core components—Executor, StatementHandler, ParameterHandler, and ResultSetHandler—explaining their interfaces, default implementations, key methods, and how they collaborate to translate Java objects into SQL statements and process query results.

ExecutorJavaMyBatis
0 likes · 21 min read
Deep Dive into MyBatis Core Components: Executor, StatementHandler, ParameterHandler, and ResultSetHandler
Code Ape Tech Column
Code Ape Tech Column
Mar 8, 2025 · Information Security

Enterprise Data Desensitization Solutions Using MyBatis and Fastjson

The article explains why data desensitization is essential for enterprises, classifies common masking techniques, and provides concrete implementation guides for database, log, and output level masking in Java applications using MyBatis plugins and Fastjson filters, complete with sample code and configuration.

Backend SecurityFastjsonJava
0 likes · 12 min read
Enterprise Data Desensitization Solutions Using MyBatis and Fastjson
JD Cloud Developers
JD Cloud Developers
Mar 6, 2025 · Backend Development

How a MyBatis Plugin Can Color‑Mark SQL for Instant Business Traceability

This article examines the challenges of locating and diagnosing SQL statements in large systems and introduces a lightweight, non‑intrusive MyBatis plugin that injects color‑marking metadata into SELECT, INSERT, UPDATE and DELETE queries, enabling rapid business source identification and enhanced debugging.

JavaMyBatisSQL tracing
0 likes · 15 min read
How a MyBatis Plugin Can Color‑Mark SQL for Instant Business Traceability
macrozheng
macrozheng
Mar 4, 2025 · Backend Development

How to Implement Data Isolation in Spring Boot with MyBatis and JSqlParser

This article explains how to achieve data isolation in a Spring Boot application by creating a MyBatis interceptor that uses JSqlParser to parse and modify SQL statements at the prepare stage, covering tool introductions, dependency setup, interceptor code, testing examples, and the reasoning behind intercepting the prepare method.

Data IsolationJSqlParserMyBatis
0 likes · 14 min read
How to Implement Data Isolation in Spring Boot with MyBatis and JSqlParser
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Feb 27, 2025 · Backend Development

How to Log SQL Statements in Spring Boot 3 Using JDBC, JPA, MyBatis & datasource-proxy

This article announces a Spring Boot 3 case collection with 100 permanent examples and then provides a comprehensive guide on recording SQL statements in Spring Boot applications via JDBC, JPA, MyBatis and the datasource‑proxy library, including configuration snippets, code samples and visual output illustrations.

DataSource ProxyJDBCJPA
0 likes · 8 min read
How to Log SQL Statements in Spring Boot 3 Using JDBC, JPA, MyBatis & datasource-proxy
Pan Zhi's Tech Notes
Pan Zhi's Tech Notes
Feb 25, 2025 · Backend Development

Build a Code Generator from Scratch: Boost Development Efficiency 10×

This article walks through creating a fully automated Spring Boot and MyBatis code generator using Freemarker templates, detailing each step from extracting table metadata to generating DAO, service, controller, and entity classes, and shows how a single-table CRUD can be produced in seconds.

JavaMyBatisSpring Boot
0 likes · 25 min read
Build a Code Generator from Scratch: Boost Development Efficiency 10×
Su San Talks Tech
Su San Talks Tech
Feb 14, 2025 · Databases

How to Fix Oracle ORA-000060 Deadlock in Bulk User Updates

The article describes a real‑world Oracle ORA‑000060 deadlock encountered during bulk updates of user records, explains the root cause of unsorted duplicate user_id entries across parallel threads, and outlines practical solutions such as sorting input files and adjusting transaction order, illustrated with MyBatis code and DeepSeek insights.

MyBatisOracledeadlock
0 likes · 5 min read
How to Fix Oracle ORA-000060 Deadlock in Bulk User Updates
IT Services Circle
IT Services Circle
Feb 13, 2025 · Databases

Resolving ORA-000060 Deadlock in Oracle Batch Updates with MyBatis

The article describes a production deadlock (ORA-000060) caused by unsorted, duplicate user_id rows in a file processed in parallel batch updates, shows MyBatis XML code, illustrates conflicting thread execution, and provides practical solutions such as sorting the input and deduplicating records.

Batch UpdateMyBatisOracle
0 likes · 4 min read
Resolving ORA-000060 Deadlock in Oracle Batch Updates with MyBatis
Code Ape Tech Column
Code Ape Tech Column
Feb 10, 2025 · Backend Development

Implementing Data Isolation in Spring Boot with MyBatis Interceptor and JSqlParser

This article explains how to achieve data isolation in a Spring Boot application by using a MyBatis interceptor that leverages JSqlParser to parse and modify SQL statements at the StatementHandler.prepare stage, covering tool introductions, dependency setup, interceptor implementation, testing examples, and the rationale behind intercepting the prepare method.

Data IsolationJSqlParserMyBatis
0 likes · 13 min read
Implementing Data Isolation in Spring Boot with MyBatis Interceptor and JSqlParser
Java Tech Enthusiast
Java Tech Enthusiast
Feb 9, 2025 · Databases

Optimizing Database Insert Operations and Batch Insertion Strategies

The article explains how inserts work in relational databases, why fixed‑size pages and batch transactions dramatically reduce I/O and lock contention, and provides practical MyBatis guidelines—using the foreach tag, ExecutorType.BATCH, and an appropriate batchSize while estimating memory and disk limits to choose an optimal batch size and commit only once.

Batch InsertMyBatisMySQL
0 likes · 12 min read
Optimizing Database Insert Operations and Batch Insertion Strategies
Java Architecture Stack
Java Architecture Stack
Feb 7, 2025 · Backend Development

Master MyBatis Interview: Advanced Tips, Performance Hacks, and Real-World Code

This article walks senior Java developers through MyBatis fundamentals, core components, result mapping, the trade‑offs between #{} and ${}, dynamic SQL, second‑level caching, batch inserts, plugin creation, thread‑safety concerns, and concrete interview‑question solutions, all illustrated with real code snippets and performance numbers.

Interview PreparationJavaMyBatis
0 likes · 11 min read
Master MyBatis Interview: Advanced Tips, Performance Hacks, and Real-World Code
Selected Java Interview Questions
Selected Java Interview Questions
Feb 5, 2025 · Backend Development

Implementing Data Isolation in Spring Boot with MyBatis Interceptor and JSqlParser

This article demonstrates how to achieve data isolation in a Spring Boot application by creating a MyBatis interceptor that modifies SQL statements using JSqlParser, covering tool introductions, dependency setup, interceptor implementation, testing for SELECT/INSERT/UPDATE/DELETE, and the rationale for intercepting the prepare method.

Data IsolationJSqlParserMyBatis
0 likes · 14 min read
Implementing Data Isolation in Spring Boot with MyBatis Interceptor and JSqlParser
Java Tech Enthusiast
Java Tech Enthusiast
Feb 4, 2025 · Backend Development

Unlock Precise Method Timing with Cool Request’s New Trace Feature

The article introduces Cool Request, an IDEA plugin that now supports a Trace feature for measuring execution time of any method, automatic MyBatis function tracing, customizable duration coloring, and script-based environment manipulation, complete with usage examples and code snippets.

Cool RequestHTTP debuggingIDEA Plugin
0 likes · 6 min read
Unlock Precise Method Timing with Cool Request’s New Trace Feature
macrozheng
macrozheng
Jan 26, 2025 · Backend Development

Which Java Technologies Are Worth Learning in 2024? A Practical Guide

Based on 20 years of Java experience, this article evaluates Java technologies like JSP, Struts, Hibernate, and Servlet against practical use, depth of understanding, and interview relevance, recommending which to drop, which to master, and highlighting alternatives such as Spring MVC and MyBatis.

HibernateJSPMyBatis
0 likes · 8 min read
Which Java Technologies Are Worth Learning in 2024? A Practical Guide
Architecture Digest
Architecture Digest
Jan 24, 2025 · Backend Development

Why Using 1=1 in SQL Is a Bad Habit and How to Write Cleaner Queries

This article explains why developers often insert the always‑true condition 1=1 in SQL, examines its potential performance and readability drawbacks, and demonstrates cleaner alternatives using MyBatis dynamic tags and Entity Framework to build conditional queries without unnecessary predicates.

Dynamic QueryEntity FrameworkMyBatis
0 likes · 7 min read
Why Using 1=1 in SQL Is a Bad Habit and How to Write Cleaner Queries
Java Web Project
Java Web Project
Jan 15, 2025 · Backend Development

Why MyBatis foreach Batch Inserts Stall and How to Speed Them Up with ExecutorType.BATCH

The article investigates a MyBatis batch‑insert job that consumes excessive CPU and takes 14 minutes, explains why the foreach‑generated giant INSERT statement is inefficient, and demonstrates how switching to ExecutorType.BATCH or MyBatis dynamic‑SQL batch support reduces the runtime to under two seconds.

Batch InsertExecutorType.BATCHJava
0 likes · 10 min read
Why MyBatis foreach Batch Inserts Stall and How to Speed Them Up with ExecutorType.BATCH
Top Architect
Top Architect
Jan 12, 2025 · Backend Development

Optimizing a High‑Concurrency Interface: Reducing Response Time from 30 s to 0.8 s

This article presents a real‑world case study of a high‑concurrency data‑processing interface whose response time was reduced from 30 seconds to under one second by diagnosing SQL bottlenecks, applying PostgreSQL array aggregation, moving logic to the database, and introducing Caffeine caching, with detailed code examples and performance analysis.

BackendCachingMyBatis
0 likes · 13 min read
Optimizing a High‑Concurrency Interface: Reducing Response Time from 30 s to 0.8 s
Top Architecture Tech Stack
Top Architecture Tech Stack
Jan 6, 2025 · Backend Development

10 Essential MyBatis Development Tips for Efficient Backend Programming

This article presents ten practical MyBatis techniques—including dynamic SQL, resultMap, foreach, pagination, annotation proxies, second‑level cache, dynamic table names, custom type handlers, logging, and multi‑datasource configuration—to help Java developers write cleaner, safer, and more performant data‑access code.

JavaMyBatisORM
0 likes · 11 min read
10 Essential MyBatis Development Tips for Efficient Backend Programming
Architect
Architect
Dec 23, 2024 · Information Security

How to Implement Enterprise Data Desensitization with MyBatis and Fastjson

This article explains why data desensitization is essential for modern enterprises, compares masking, obfuscation and encryption techniques, and provides step‑by‑step implementations for database, log, and output layers using MyBatis interceptors, Fastjson filters, and Spring MVC configuration.

FastjsonJavaMyBatis
0 likes · 13 min read
How to Implement Enterprise Data Desensitization with MyBatis and Fastjson
Architect's Guide
Architect's Guide
Dec 22, 2024 · Backend Development

Cool Request Plugin for IDEA: Tracing, MyBatis Function Tracking, and Custom Timing Features

The article introduces the Cool Request IDEA plugin, explains its tracing capabilities for arbitrary packages, automatic MyBatis function monitoring, customizable timing colors, script-based environment manipulation, and provides a Java code example for handling responses, highlighting its usefulness for backend developers.

BackendIDEAJava
0 likes · 4 min read
Cool Request Plugin for IDEA: Tracing, MyBatis Function Tracking, and Custom Timing Features
Architect
Architect
Dec 15, 2024 · Databases

Efficient MySQL Queries for Millions of Rows: Regular, Stream, and Cursor

When processing massive MySQL result sets, loading all rows into JVM memory can cause OOM and slow performance, so this guide compares three approaches—regular pagination, streaming queries using server-side cursors, and cursor‑based fetchSize control—detailing their implementations, MyBatis configurations, and trade‑offs.

CursorLarge DataMyBatis
0 likes · 10 min read
Efficient MySQL Queries for Millions of Rows: Regular, Stream, and Cursor
DaTaobao Tech
DaTaobao Tech
Dec 13, 2024 · Databases

MyBatis Boolean vs Boolean: Unexpected 0 Value and Fix

Because MyBatis reads a primitive boolean field directly when no getter exists, the default false value is bound as 0, causing an unexpected zero in the MySQL tinyint column; changing the field to the Boolean wrapper (initialized to true) or fixing the update logic resolves the issue.

JavaMyBatisORM
0 likes · 9 min read
MyBatis Boolean vs Boolean: Unexpected 0 Value and Fix
Java Tech Enthusiast
Java Tech Enthusiast
Dec 6, 2024 · Backend Development

Migrating MyBatis to MyBatis-Plus: Debugging LocalDateTime Conversion Issues

When migrating an old Java project from MyBatis 3.5.0 to MyBatis‑Plus 3.1.1, a test failed with “Conversion not supported for type java.time.LocalDateTime” because MyBatis 3.5.1 stopped handling Java 8 time types and the existing mysql‑connector‑java 5.1.26 driver lacked support, which was resolved by upgrading the connector to version 5.1.37 or later, highlighting the need for thorough compatibility testing during framework upgrades.

JavaLocalDateTimeMyBatis
0 likes · 7 min read
Migrating MyBatis to MyBatis-Plus: Debugging LocalDateTime Conversion Issues
Java Architect Essentials
Java Architect Essentials
Nov 27, 2024 · Backend Development

New Features of Cool Request Plugin: Trace, MyBatis Tracking, Custom Timing Colors, and Scripting

The article introduces the latest Cool Request IDEA plugin update, detailing its Trace capability for method execution timing, selective MyBatis function monitoring, customizable slow‑method highlighting, and scripting support for headers and JSON parsing, all illustrated with Java code examples.

Cool RequestIDEA PluginJava
0 likes · 5 min read
New Features of Cool Request Plugin: Trace, MyBatis Tracking, Custom Timing Colors, and Scripting
Code Ape Tech Column
Code Ape Tech Column
Nov 19, 2024 · Backend Development

Encapsulating EasyExcel for Simplified Import/Export in Spring Boot Applications

This article demonstrates how to wrap the EasyExcel library in a Spring Boot + MyBatis‑Plus project, providing a unified component that simplifies Excel import and export through concise annotations, reusable service methods, and customizable converters while addressing common pitfalls such as date handling and template support.

BackendEasyExcelExcelImportExport
0 likes · 15 min read
Encapsulating EasyExcel for Simplified Import/Export in Spring Boot Applications
Architecture Digest
Architecture Digest
Nov 11, 2024 · Backend Development

Fluent Mybatis Tutorial: Introduction, Features, Comparison with MyBatis/MyBatis Plus, and Practical CRUD Implementation

This article introduces the Fluent Mybatis ORM framework, explains its design advantages, demonstrates how to implement a complex student‑score aggregation query using Fluent Mybatis, native MyBatis and MyBatis‑Plus, and provides end‑to‑end code examples for entity generation, configuration, and CRUD testing.

Fluent-MyBatisJavaMyBatis
0 likes · 16 min read
Fluent Mybatis Tutorial: Introduction, Features, Comparison with MyBatis/MyBatis Plus, and Practical CRUD Implementation
Architect's Tech Stack
Architect's Tech Stack
Nov 6, 2024 · Backend Development

Optimizing MyBatis Batch Insert Performance with ExecutorType.BATCH and Proper Value Chunking

This article explains why using MyBatis foreach for bulk inserts can cause severe performance degradation, analyzes the underlying cost of large prepared statements, and demonstrates how switching to ExecutorType.BATCH or limiting each INSERT to 20‑50 rows dramatically improves insertion speed.

Batch InsertExecutorType.BATCHJava
0 likes · 8 min read
Optimizing MyBatis Batch Insert Performance with ExecutorType.BATCH and Proper Value Chunking
Architect's Guide
Architect's Guide
Nov 6, 2024 · Databases

MyBatis SQL Viewer Plugin: Features, Installation, and Usage Guide

The MyBatis SQL Viewer plugin transforms MyBatis XML into executable SQL, provides mock parameters, syntax and compliance checks, index analysis, performance testing, data mocking, and comprehensive UI features, enabling developers to validate, benchmark, and manage SQL without restarting the application.

Database ToolsMyBatisSQL Mocking
0 likes · 11 min read
MyBatis SQL Viewer Plugin: Features, Installation, and Usage Guide
Architecture Digest
Architecture Digest
Nov 5, 2024 · Backend Development

Spring Annotation-Based Development and MyBatis Integration Tutorial

This article explains how Spring 3.0's pure annotation mode simplifies bean configuration, demonstrates using @Component, @Scope, @Autowired, @Qualifier, @Value, and @PropertySource for dependency injection and property loading, and shows step‑by‑step integration of MyBatis with Spring, including required dependencies and configuration classes.

BackendConfigurationDependency Injection
0 likes · 8 min read
Spring Annotation-Based Development and MyBatis Integration Tutorial
Ubiquitous Tech
Ubiquitous Tech
Oct 31, 2024 · Databases

Deep Dive into JD’s sql-analysis Slow‑SQL Component Architecture

This article provides a detailed walkthrough of JD’s open‑source sql‑analysis component, dissecting its eight functional modules, MyBatis interceptor flow, SQL extraction logic, query‑plan analysis, rule‑based scoring, and output strategies, while highlighting design patterns and potential extension points for developers.

JavaMyBatisPerformance Monitoring
0 likes · 15 min read
Deep Dive into JD’s sql-analysis Slow‑SQL Component Architecture
Selected Java Interview Questions
Selected Java Interview Questions
Oct 30, 2024 · Backend Development

Implementing Short URL Redirection with SpringBoot

This article explains the concept of short‑URL redirection, its benefits, and provides a complete SpringBoot implementation—including database schema, entity, DAO, service, controller, and testing code—to convert long links into short, trackable links and handle redirects.

BackendJavaMyBatis
0 likes · 11 min read
Implementing Short URL Redirection with SpringBoot
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Oct 29, 2024 · Backend Development

Storing Douyin and Baidu Hot Search Data with MySQL, MyBatis Generator, and Java Crawlers

This tutorial explains how to design a MySQL table for hot‑search records, generate Java entity and mapper classes using MyBatis Generator, create unique IDs for each entry, and implement scheduled Java crawlers for Douyin and Baidu hot‑search data that persist the results via Spring‑Boot services.

BackendJavaMyBatis
0 likes · 19 min read
Storing Douyin and Baidu Hot Search Data with MySQL, MyBatis Generator, and Java Crawlers
Ubiquitous Tech
Ubiquitous Tech
Oct 28, 2024 · Databases

Detecting and Preventing Slow SQL with JD’s Open‑Source sql‑analysis Component

This article introduces JD’s open‑source sql‑analysis component, explains its design based on a MyBatis interceptor, demonstrates how it analyzes SQL execution plans with Explain and a rule engine to warn about potential slow queries, and shows step‑by‑step usage and its advantages for early detection and rapid hot‑swap remediation.

EXPLAINMyBatisPerformance Monitoring
0 likes · 14 min read
Detecting and Preventing Slow SQL with JD’s Open‑Source sql‑analysis Component
Programmer XiaoFu
Programmer XiaoFu
Oct 22, 2024 · Databases

What Batch Size Gives MySQL the Best Insert Performance?

This article explains how MySQL writes data to cache before flushing to disk, compares single‑row versus batch inserts, discusses how hardware limits, transaction size, and lock contention affect performance, and shows how to estimate an optimal batch size with concrete calculations and MyBatis examples.

Batch InsertMemoryMyBatis
0 likes · 14 min read
What Batch Size Gives MySQL the Best Insert Performance?
Java Tech Enthusiast
Java Tech Enthusiast
Oct 13, 2024 · Backend Development

Fluent Mybatis Tutorial: Overview, Features, and Practical Code Examples

The article introduces Fluent Mybatis, a compile‑time code‑generating ORM that merges Mybatis‑Plus, Dynamic SQL and JPA features, eliminates XML mappers, offers a fluent, type‑safe Java API, and demonstrates through concise examples how it reduces boilerplate compared with native Mybatis and Mybatis‑Plus.

CRUDFluent-MyBatisJava
0 likes · 13 min read
Fluent Mybatis Tutorial: Overview, Features, and Practical Code Examples
macrozheng
macrozheng
Oct 8, 2024 · Backend Development

Mastering Batch Updates in MyBatis: From foreach to ON DUPLICATE KEY

This article explores four common batch‑update techniques in MyBatis, compares their performance, shows how to configure Druid and Spring Boot to allow multi‑statement execution, and provides practical code examples and configuration tips for reliable large‑scale data updates.

Batch UpdateDruidMyBatis
0 likes · 11 min read
Mastering Batch Updates in MyBatis: From foreach to ON DUPLICATE KEY
Programmer1970
Programmer1970
Oct 7, 2024 · Backend Development

Mastering MyBatis Plugins: Features, Mechanics, Real‑World Use Cases & Best Practices

This article explains MyBatis plugins’ core capabilities—SQL rewriting, logging, performance monitoring, transaction enhancement, and result handling—detailing their interception points, the Java dynamic‑proxy implementation, a complete pagination plugin example, typical application scenarios, and practical best‑practice recommendations for developers.

Best PracticesJavaMyBatis
0 likes · 11 min read
Mastering MyBatis Plugins: Features, Mechanics, Real‑World Use Cases & Best Practices
Programmer1970
Programmer1970
Sep 25, 2024 · Backend Development

How to Use XXL‑JOB in SpringBoot for Flexible Sharding of Massive Data

This article explains how to configure XXL‑JOB with a sharding‑broadcast strategy in a SpringBoot application, use ID modulo hashing to partition large tables, implement the task with XxlJobHelper, write MyBatis sharding SQL, and verify correct parallel processing through detailed logs.

Batch ProcessingMyBatisSpringBoot
0 likes · 7 min read
How to Use XXL‑JOB in SpringBoot for Flexible Sharding of Massive Data
Java High-Performance Architecture
Java High-Performance Architecture
Sep 21, 2024 · Backend Development

Master MyBatis-Mate: Advanced Features for Secure, Sharded Java Backends

This article introduces MyBatis‑Mate, an enterprise‑grade MyBatis extension that provides sharding, data auditing, sensitive‑word filtering, field encryption, dictionary binding, dynamic DDL maintenance, data‑scope permissions and performance monitoring, complete with practical code examples and configuration guidance.

JavaMyBatisdata encryption
0 likes · 15 min read
Master MyBatis-Mate: Advanced Features for Secure, Sharded Java Backends
Architecture Digest
Architecture Digest
Aug 29, 2024 · Backend Development

mybatis-mate – Enterprise‑level MyBatis Extension for Sharding, Auditing, Encryption, and Data Permissions

The article introduces mybatis-mate, an enterprise‑grade MyBatis module that supports sharding, multi‑datasource, data auditing, field encryption, sensitive‑data masking, automatic DDL maintenance, performance logging, and fine‑grained data‑scope control, providing code examples and configuration guidelines for Spring Boot projects.

Data AuditingJavaMyBatis
0 likes · 15 min read
mybatis-mate – Enterprise‑level MyBatis Extension for Sharding, Auditing, Encryption, and Data Permissions
Sohu Tech Products
Sohu Tech Products
Aug 28, 2024 · Databases

MySQL Data Migration with Double‑Write Using MyBatis Plugin

The article details how the vivo Game Center’s appointment service migrated billions of rows to a dedicated MySQL database with zero‑downtime by implementing a double‑write strategy via a custom MyBatis interceptor that mirrors updates and queries to the new database, handling full and incremental sync, primary‑key consistency, transaction limits, and final cut‑over steps.

MyBatisMySQLdata migration
0 likes · 19 min read
MySQL Data Migration with Double‑Write Using MyBatis Plugin
Programmer XiaoFu
Programmer XiaoFu
Aug 28, 2024 · Backend Development

10 Powerful MyBatis SQL Patterns Used by Top Companies

This article presents ten practical MyBatis dynamic‑SQL techniques—including foreach, if, choose, selectKey, trim, and sql fragments—explaining their attributes, common pitfalls, and providing complete Java mapper and XML examples that help reduce boilerplate and avoid errors.

Dynamic SQLJavaMyBatis
0 likes · 21 min read
10 Powerful MyBatis SQL Patterns Used by Top Companies
High Availability Architecture
High Availability Architecture
Aug 27, 2024 · Backend Development

Design and Implementation of a Double‑Write Migration Strategy for the Appointment Service Using a MyBatis Plugin

This article details the background, requirements, and evaluation of migration options for the appointment service, explains why a double‑write approach with a custom MyBatis plugin was chosen, and walks through the full‑sync, incremental sync, code refactoring, plugin implementation, switch‑over procedures, and post‑migration validation to achieve reliable data isolation and system stability.

JavaMyBatisMySQL
0 likes · 17 min read
Design and Implementation of a Double‑Write Migration Strategy for the Appointment Service Using a MyBatis Plugin
vivo Internet Technology
vivo Internet Technology
Aug 21, 2024 · Databases

MySQL Data Migration with Double‑Write Strategy Using a MyBatis Plugin

The article details a zero‑downtime migration of a high‑traffic reservation service from a shared MySQL instance to an isolated database by employing a double‑write strategy implemented through a custom MyBatis plugin, covering full and incremental sync, consistency verification, traffic shifting, and key lessons on primary‑key handling and asynchronous write side‑effects.

MyBatisMySQLdata migration
0 likes · 19 min read
MySQL Data Migration with Double‑Write Strategy Using a MyBatis Plugin
Top Architect
Top Architect
Aug 11, 2024 · Backend Development

Efficient Insertion of 300,000 Records Using MyBatis and JDBC

This article demonstrates how to efficiently insert 300,000 rows into a MySQL table by using MyBatis batch operations, JDBC batch processing, and various performance optimizations such as batch size tuning, transaction management, and connection pooling.

Batch InsertJDBCJava
0 likes · 17 min read
Efficient Insertion of 300,000 Records Using MyBatis and JDBC
Lobster Programming
Lobster Programming
Aug 6, 2024 · Backend Development

How to Log MyBatis SQL and Execution Time with Config, Plugins, and p6spy

This guide explains three common ways to output MyBatis SQL statements and their execution times—using simple configuration logging, a custom MyBatis interceptor plugin, and the third‑party p6spy library—along with code examples and practical considerations for development and production environments.

JavaMyBatisPerformance Monitoring
0 likes · 8 min read
How to Log MyBatis SQL and Execution Time with Config, Plugins, and p6spy
Java Architect Essentials
Java Architect Essentials
Aug 5, 2024 · Backend Development

Fast Testing of MyBatis SQL Without Starting Spring

This article explains how to quickly test MyBatis SQL statements by bypassing the Spring container, using a minimal MyBatis configuration, adding support for PageHelper pagination and MyBatis‑Plus plugins, and provides code examples and a plugin recommendation for efficient backend development.

BackendJavaMyBatis
0 likes · 4 min read
Fast Testing of MyBatis SQL Without Starting Spring