Tagged articles

MyBatis

753 articles · Page 2 of 8
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.

AnnotationData PermissionMyBatis
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.

AnnotationData PermissionMyBatis
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.

AOPData IsolationJava
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.

Data PermissionJavaMyBatis
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.

EnumJavaMyBatis
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.

Data IsolationJavaMyBatis
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.

HibernateMicroservicesMyBatis
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.

Backend DevelopmentData PermissionMyBatis
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.

MyBatisSQLThreadLocal
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.

FreemarkerJavaMyBatis
0 likes · 11 min read
Hands‑On Guide: Build Your Own Code Generator (Can You Keep Up?)
Java Architect Essentials
Java Architect Essentials
Apr 7, 2025 · Backend Development

Advanced MyBatis Dynamic SQL Techniques: foreach, if, choose, trim, selectKey, and SQL Fragments

This article provides a comprehensive guide to MyBatis dynamic SQL tags—including foreach, if, choose, trim, selectKey, and reusable SQL fragments—explaining their attributes, usage patterns, and code examples to help developers write cleaner, more reliable XML mappers and avoid common pitfalls.

Backend DevelopmentDynamic SQLJava
0 likes · 19 min read
Advanced MyBatis Dynamic SQL Techniques: foreach, if, choose, trim, selectKey, and SQL Fragments
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.

Data MaskingJavaMyBatis
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.

JavaMyBatisPlugin
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 SecurityData MaskingEncryption
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.

JavaMyBatisPlugin
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.

JDBCMyBatisSQL Logging
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.

Backend DevelopmentFreemarkerJava
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.

DeadlockMyBatisOracle
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 UpdateDeadlockMyBatis
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 InsertMyBatisTransaction
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.

Backend DevelopmentJavaMyBatis
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.

Backend DevelopmentHibernateJSP
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.

Backend DevelopmentDynamic QueryEntity Framework
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.

CachingMyBatisOptimization
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.

IDEAJavaMyBatis
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.

CursorDatabase QueryLarge Data
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.

JavaMyBatisMyBatis-Plus
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.

EasyExcelExcelImportExportJava
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.

ConfigurationDependency InjectionJava
0 likes · 8 min read
Spring Annotation-Based Development and MyBatis Integration Tutorial
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.

JavaMyBatisRedirect
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.

Database DesignJavaMyBatis
0 likes · 19 min read
Storing Douyin and Baidu Hot Search Data with MySQL, MyBatis Generator, and Java Crawlers
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 InsertMyBatisTransaction
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
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.

JavaMyBatisSharding
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.

Backend DevelopmentData AuditingJava
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.

Data MigrationMyBatisPlugin
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.

Data synchronizationJavaMyBatis
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.

Data MigrationMyBatisPlugin
0 likes · 19 min read
MySQL Data Migration with Double‑Write Strategy Using a MyBatis Plugin
Java Architect Essentials
Java Architect Essentials
Aug 19, 2024 · Backend Development

Boost MyBatis Development with MyBatis‑SQL‑Viewer: Features, Installation & Usage

This article introduces the MyBatis‑SQL‑Viewer plugin, detailing its capabilities such as converting MyBatis XML to real SQL, mock data generation, SQL compliance and index checks, execution, performance testing, and how to install and use it within IntelliJ IDEA for efficient backend development.

Backend DevelopmentIDE pluginMyBatis
0 likes · 13 min read
Boost MyBatis Development with MyBatis‑SQL‑Viewer: Features, Installation & Usage
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.

JavaMyBatisSQL Logging
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.

JavaMyBatisSQL testing
0 likes · 4 min read
Fast Testing of MyBatis SQL Without Starting Spring
Top Architect
Top Architect
Aug 3, 2024 · Backend Development

Optimizing a High‑Concurrency Transaction Statistics Interface from 30 seconds to Sub‑Second Performance

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, refactoring MyBatis code, applying PostgreSQL array aggregation, and introducing a Caffeine cache, while also discussing the limits of relational databases and promoting related AI services.

Backend DevelopmentCachingCaffeine
0 likes · 13 min read
Optimizing a High‑Concurrency Transaction Statistics Interface from 30 seconds to Sub‑Second Performance
Java Tech Enthusiast
Java Tech Enthusiast
Aug 2, 2024 · Backend Development

How Cool Request’s New Trace Feature Lets You Measure Any Method’s Execution Time

The latest update of the Cool Request IDEA plugin introduces a powerful Trace function that automatically records execution times for any method—including Spring @Scheduled and xxl‑job tasks—offers customizable latency coloring, MyBatis SQL timing, call‑count indicators, and scriptable environment variables for seamless token handling and JSON parsing.

HTTP debuggingIDEA PluginJava
0 likes · 6 min read
How Cool Request’s New Trace Feature Lets You Measure Any Method’s Execution Time
Selected Java Interview Questions
Selected Java Interview Questions
Aug 1, 2024 · Backend Development

Spring Annotation-Based Development and MyBatis Integration Guide

This article explains how Spring 3.0's pure annotation development simplifies bean configuration, demonstrates defining beans with @Component, managing bean scopes, performing various injection techniques, reading properties files, and integrating MyBatis, providing complete code examples and best‑practice tips for backend Java developers.

AnnotationDependency InjectionJava
0 likes · 11 min read
Spring Annotation-Based Development and MyBatis Integration Guide
Java Backend Technology
Java Backend Technology
Jul 30, 2024 · Backend Development

Spring Annotation Development: From Bean Definition to MyBatis Integration

This article explains how Spring’s pure annotation development replaces XML bean definitions, covers component scanning, bean scopes, derived annotations, various injection methods, property file loading, and demonstrates seamless Spring‑MyBatis integration, showing step‑by‑step code examples that simplify backend configuration.

AnnotationDependency InjectionJava
0 likes · 9 min read
Spring Annotation Development: From Bean Definition to MyBatis Integration
Top Architect
Top Architect
Jul 25, 2024 · Backend Development

Introducing MyBatis‑Mate: Enterprise Features for Spring Boot

This article introduces MyBatis‑Mate, an official MyBatis‑Plus extension that provides enterprise‑level capabilities such as sharding, data auditing, field encryption, dictionary binding, data masking, automatic DDL maintenance, dynamic data‑source switching, distributed transaction logging, and fine‑grained data permissions for Spring Boot applications.

DataMaskingDataShardingFieldEncryption
0 likes · 17 min read
Introducing MyBatis‑Mate: Enterprise Features for Spring Boot
Selected Java Interview Questions
Selected Java Interview Questions
Jul 20, 2024 · Backend Development

Introduction and Usage Guide for MyBatis-Mate: Enterprise Features for MyBatis-Plus

This article introduces MyBatis-Mate, an official MyBatis‑Plus extension offering enterprise‑level capabilities such as dictionary binding, field encryption, data masking, dynamic DDL maintenance, sharding, multi‑datasource switching, performance logging, and data permission control, with detailed Spring Boot integration examples.

Data MaskingJavaMyBatis
0 likes · 15 min read
Introduction and Usage Guide for MyBatis-Mate: Enterprise Features for MyBatis-Plus
Selected Java Interview Questions
Selected Java Interview Questions
Jul 18, 2024 · Backend Development

Exploring Nine Design Patterns in MyBatis: Builder, Factory, Singleton, Proxy, Decorator, Adapter, Composite, Template Method, and Iterator

This article examines nine design patterns employed within MyBatis—Builder, Factory, Singleton, Proxy, Decorator, Adapter, Composite, Template Method, and Iterator—detailing their roles, source code examples, and how they facilitate configuration parsing, SQL execution, and caching in the framework.

Builder PatternFactory PatternJava
0 likes · 18 min read
Exploring Nine Design Patterns in MyBatis: Builder, Factory, Singleton, Proxy, Decorator, Adapter, Composite, Template Method, and Iterator
Code Ape Tech Column
Code Ape Tech Column
Jul 18, 2024 · Backend Development

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

This article presents a real‑world case study of a high‑concurrency transaction‑handling API that originally required 30 seconds to process over two million records, and details the step‑by‑step SQL, Java, and caching optimizations that brought the response time down to under one second.

MyBatisPostgreSQLsql-optimization
0 likes · 10 min read
Optimizing a High‑Concurrency Data Processing Interface: Reducing Response Time from 30 s to 0.8 s
IT Services Circle
IT Services Circle
Jul 14, 2024 · Backend Development

Understanding MyBatis Dynamic SQL, OOM Incidents, and the Importance of Backend Parameter Validation

This article explains MyBatis dynamic SQL, recounts a first‑hand OOM incident caused by missing backend validation, and shares practical lessons on parameter checking, balancing reusable versus specialized interfaces, and adopting defensive programming to build more reliable backend systems.

Defensive ProgrammingDynamic SQLMyBatis
0 likes · 11 min read
Understanding MyBatis Dynamic SQL, OOM Incidents, and the Importance of Backend Parameter Validation
JD Tech Talk
JD Tech Talk
Jul 8, 2024 · Backend Development

Implementing Data Permission Control with MyBatis Interceptor and ThreadLocal

This article explains how to enforce data permission control in Java backend applications by using MyBatis mapper annotations, ThreadLocal rule propagation, and a MyBatis interceptor that parses and rewrites SQL statements with permission constraints, providing minimal intrusion to existing business logic.

Data PermissionMyBatisSQL interceptor
0 likes · 11 min read
Implementing Data Permission Control with MyBatis Interceptor and ThreadLocal
Top Architect
Top Architect
Jul 5, 2024 · Databases

Efficient Insertion of 300,000 Records Using MyBatis and JDBC

This article demonstrates how to insert 300,000 rows into a MySQL table efficiently by defining a User entity, configuring MyBatis and JDBC, comparing direct batch insertion, row‑by‑row insertion, and optimized batch strategies with configurable batch sizes and wait times, and provides performance results and best‑practice recommendations.

JDBCJavaMyBatis
0 likes · 15 min read
Efficient Insertion of 300,000 Records Using MyBatis and JDBC
Java Tech Enthusiast
Java Tech Enthusiast
Jul 1, 2024 · Backend Development

MyBatis OGNL Comparison Pitfall: Single Character vs String

The article reveals that MyBatis’s OGNL treats a single‑character literal like '1' as a Character, causing equality checks against String values in if tags to fail, and shows how using double quotes, toString(), or proper type conversion resolves the comparison pitfall.

ComparisonJavaMyBatis
0 likes · 4 min read
MyBatis OGNL Comparison Pitfall: Single Character vs String
macrozheng
macrozheng
Jun 21, 2024 · Backend Development

Master MyBatis Dynamic SQL: 9 Essential Tag Techniques for Cleaner Code

This article walks through MyBatis dynamic SQL tags—foreach, concat, choose, selectKey, if, where, trim, set, and sql fragments—explaining their attributes, usage patterns, and common pitfalls, and provides complete XML and Java code examples for each technique.

Dynamic SQLJavaMyBatis
0 likes · 20 min read
Master MyBatis Dynamic SQL: 9 Essential Tag Techniques for Cleaner Code
Su San Talks Tech
Su San Talks Tech
Jun 12, 2024 · Backend Development

Master MyBatis Dynamic SQL: 9 Essential Tags and Best Practices

This article explains how to use MyBatis dynamic SQL tags—including foreach, concat, choose, selectKey, if, where, set, trim, and sql fragments—providing clear examples and tips to write concise, error‑free XML mappings for Java backend applications.

Dynamic SQLJavaMyBatis
0 likes · 17 min read
Master MyBatis Dynamic SQL: 9 Essential Tags and Best Practices
Architect's Guide
Architect's Guide
Jun 8, 2024 · Backend Development

Automatic Business Code Generation Tool and Its Usage

This article introduces a self‑built tool that automatically generates database, service, DAO, and controller code for CRUD operations based on table definitions, explains its underlying template‑and‑parameter mechanism, demonstrates usage with a sample product table, and provides customizable templates and dynamic parameters for extensibility.

AutomationCRUDMyBatis
0 likes · 15 min read
Automatic Business Code Generation Tool and Its Usage
Java Tech Enthusiast
Java Tech Enthusiast
Jun 6, 2024 · Backend Development

MyBatis Dynamic SQL and Tag Usage Guide

MyBatis dynamic SQL lets developers construct conditional queries at runtime using tags like if, where, trim, choose, set, foreach, sql, include, and bind, simplifying complex statements, avoiding manual string concatenation, supporting batch operations, reusable fragments, and one‑to‑many mappings while improving flexibility and maintainability.

Dynamic SQLJavaMyBatis
0 likes · 16 min read
MyBatis Dynamic SQL and Tag Usage Guide