Tagged articles
738 articles
Page 5 of 8
JD Tech
JD Tech
Jun 20, 2022 · Backend Development

Analyzing MyBatis Query Process and Fixing a Pre‑3.4.5 foreach Variable Bug

This article examines a MyBatis bug present in versions prior to 3.4.5 by reproducing the issue, walking through the complete query execution flow from configuration parsing to result handling, identifying the root cause in foreach variable binding, and presenting official fixes and practical work‑arounds.

BugFixMyBatisORM
0 likes · 19 min read
Analyzing MyBatis Query Process and Fixing a Pre‑3.4.5 foreach Variable Bug
政采云技术
政采云技术
Jun 14, 2022 · Backend Development

Performance Testing, Response Time Analysis, and Database Connection Pool Optimization for a Multi‑Table Query Service

This article presents a comprehensive performance testing case study of a multi‑table database query interface, detailing common performance metrics, response‑time classifications, step‑by‑step load‑test results, root‑cause analysis of CPU, memory, and connection‑pool bottlenecks, and demonstrates how tuning Druid’s maxActive and maxWait parameters optimizes throughput and reduces latency.

Database Connection PoolDruidLoad Testing
0 likes · 12 min read
Performance Testing, Response Time Analysis, and Database Connection Pool Optimization for a Multi‑Table Query Service
Java Architect Essentials
Java Architect Essentials
Jun 12, 2022 · Backend Development

MyBatis-Mate: Advanced Features and Usage Guide for MyBatis-Plus in Java Backend Development

This article introduces MyBatis-Mate, an official MyBatis-Plus extension that offers enterprise‑grade capabilities such as dictionary binding, field encryption, data masking, dynamic DDL generation, multi‑datasource sharding, data‑scope filtering, and SQL performance logging, complete with Maven dependency setup and code examples.

DataEncryptionMyBatisORM
0 likes · 12 min read
MyBatis-Mate: Advanced Features and Usage Guide for MyBatis-Plus in Java Backend Development
Java Backend Technology
Java Backend Technology
Jun 11, 2022 · Information Security

How to Mask Sensitive Data in MySQL and Java with MyBatis‑Mate

This article demonstrates practical techniques for data masking, covering MySQL string functions for phone and ID masking, a Java library for various sensitive fields, and a MyBatis‑Mate extension that applies custom and built‑in masking strategies through annotations and REST endpoints.

MyBatisSpring Bootjava
0 likes · 8 min read
How to Mask Sensitive Data in MySQL and Java with MyBatis‑Mate
Programmer DD
Programmer DD
Jun 9, 2022 · Backend Development

Mastering Spring Boot Multi‑DataSource Integration with MyBatis

This tutorial explains how to configure Spring Boot with a single DataSource, integrate MyBatis, and extend the setup to a dynamic multi‑DataSource using AbstractRoutingDataSource, custom annotations, and AOP, covering connection pool setup, property mapping, and transaction management.

Multi-DataSourceMyBatisSpring Boot
0 likes · 19 min read
Mastering Spring Boot Multi‑DataSource Integration with MyBatis
Cognitive Technology Team
Cognitive Technology Team
May 23, 2022 · Backend Development

Custom MyBatis Interceptor Mechanism – Java Dynamic Proxy

This article explains how to create a custom MyBatis Interceptor using Java dynamic proxies, detailing the Interceptor interface, the plugin generation process, the wrap and invoke methods, and common use‑cases such as pagination, SQL analysis, encryption, and performance monitoring.

Dynamic ProxyInterceptorMyBatis
0 likes · 4 min read
Custom MyBatis Interceptor Mechanism – Java Dynamic Proxy
Java Tech Enthusiast
Java Tech Enthusiast
May 23, 2022 · Backend Development

Implementing a Simple Java ORM Framework from Scratch

The article walks through building a lightweight Java ORM framework from scratch, showing JDBC drawbacks, defining XML configuration and mapper files, implementing core components like SqlSessionFactory, SimpleExecutor, and reflection‑based parameter and result mapping, and demonstrating a working test that returns POJOs.

FrameworkJDBCMyBatis
0 likes · 12 min read
Implementing a Simple Java ORM Framework from Scratch
Code Ape Tech Column
Code Ape Tech Column
May 18, 2022 · Backend Development

Integrating Spring Boot with MyBatis and Multi‑DataSource (Dynamic DataSource) – A Complete Guide

This article explains how to integrate Spring Boot with MyBatis, configure a single Druid data source, implement multi‑data‑source support using Spring's AbstractRoutingDataSource, create a dynamic data source with ThreadLocal, and wire everything together with custom annotations, aspects, and transaction management for backend Java applications.

BackendMulti-DataSourceMyBatis
0 likes · 18 min read
Integrating Spring Boot with MyBatis and Multi‑DataSource (Dynamic DataSource) – A Complete Guide
Top Architect
Top Architect
May 15, 2022 · Backend Development

Understanding MyBatis Batch Processing: Common Pitfalls and Optimized Solutions

This article walks through the challenges of inserting massive data sets with MyBatis, explains the inner workings of batch execution, highlights common mistakes with commit, clearCache and flushStatements, and presents progressively refined code examples—including Oracle-specific optimizations—to dramatically improve performance.

Batch ProcessingMyBatisjava
0 likes · 12 min read
Understanding MyBatis Batch Processing: Common Pitfalls and Optimized Solutions
Selected Java Interview Questions
Selected Java Interview Questions
May 14, 2022 · Backend Development

Optimizing Large‑Scale MySQL Updates with Manual Transactions and Multithreading in Spring Boot

This article demonstrates how to accelerate massive MySQL data updates in a Spring Boot application by replacing naïve loops with manual transaction control, multithreaded processing, CountDownLatch synchronization, and UNION‑based SQL batching, achieving up to a five‑fold speed increase.

Batch UpdateMyBatisSpringBoot
0 likes · 14 min read
Optimizing Large‑Scale MySQL Updates with Manual Transactions and Multithreading in Spring Boot
Java Backend Technology
Java Backend Technology
May 14, 2022 · Backend Development

Boosting Massive Data Updates in Spring Boot: Manual Transactions, Multithreading, and UNION Batch Tricks

An in‑depth guide shows how to accelerate updating tens of thousands of MySQL rows in a Spring Boot‑MyBatis project by switching from automatic per‑record commits to manual transactions, applying multithreaded execution with CountDownLatch coordination, and using UNION‑based batch updates when native batch support is unavailable.

MyBatisSpring Boottransaction
0 likes · 14 min read
Boosting Massive Data Updates in Spring Boot: Manual Transactions, Multithreading, and UNION Batch Tricks
21CTO
21CTO
May 13, 2022 · Backend Development

How Sonic Achieves Near‑Instant Hot Deployment for Java Services

This article details Meituan's internal Sonic IDEA plugin, explaining hot‑deployment concepts, why they matter, the technical challenges, and Sonic's architecture—including agents, instrumentation, class reloading, Spring Bean/XML/MyBatis reloads, and real‑world deployment experience—showing how code changes can become effective in seconds instead of minutes.

Hot DeploymentIDEA PluginInstrumentation
0 likes · 21 min read
How Sonic Achieves Near‑Instant Hot Deployment for Java Services
Java High-Performance Architecture
Java High-Performance Architecture
May 12, 2022 · Backend Development

Master MyBatis Batch Processing: Common Pitfalls and Optimized Solutions

This article walks readers through MyBatis batch processing from basics to advanced, highlighting common mistakes, explaining the roles of commit, clearCache, and flushStatements, and presenting three progressively refined code versions plus Oracle-specific optimizations to dramatically improve bulk insert performance.

Batch ProcessingMyBatisbackend-development
0 likes · 12 min read
Master MyBatis Batch Processing: Common Pitfalls and Optimized Solutions
Sohu Tech Products
Sohu Tech Products
May 11, 2022 · Backend Development

Optimizing Large-Scale Database Updates with Manual Transactions and Multithreading in Spring Boot MyBatis

This article demonstrates how to efficiently update up to 50,000 MySQL records in a Spring Boot‑MyBatis application by comparing simple loops, manual transaction control, multithreaded execution with CountDownLatch coordination, and union‑based batch updates, while analyzing performance and connection‑pool considerations.

MyBatisSpring Bootdatabase
0 likes · 14 min read
Optimizing Large-Scale Database Updates with Manual Transactions and Multithreading in Spring Boot MyBatis
Top Architect
Top Architect
May 8, 2022 · Backend Development

Understanding MyBatis First‑Level and Second‑Level Caching with Code Examples

This article explains the principles and practical usage of MyBatis first‑level and second‑level caches, describing how caching reduces database load, showing configuration steps, code demonstrations, flow diagrams, and important considerations such as cache invalidation and LRU eviction.

CacheFirst-Level CacheMyBatis
0 likes · 10 min read
Understanding MyBatis First‑Level and Second‑Level Caching with Code Examples
Java High-Performance Architecture
Java High-Performance Architecture
May 5, 2022 · Backend Development

Master FastMybatis: Zero‑Config CRUD for Spring Boot

This article introduces FastMybatis, a lightweight Java MyBatis extension that enables zero‑configuration CRUD operations across multiple databases, shows how to quickly set up a Spring Boot project with the starter, provides full code examples for entities, mappers, services, a comprehensive mapper method list, and demonstrates Query object usage for flexible data retrieval.

CRUDFastMyBatisMyBatis
0 likes · 10 min read
Master FastMybatis: Zero‑Config CRUD for Spring Boot
Code Ape Tech Column
Code Ape Tech Column
May 5, 2022 · Backend Development

Optimizing Bulk Database Updates with Manual Transactions and Multithreading in Spring/MyBatis

This article demonstrates how to dramatically speed up updating tens of thousands of records in a Spring‑MyBatis application by switching from automatic per‑operation commits to manual transaction control, applying multithreaded processing, tuning the Hikari connection pool, and using SQL UNION‑based batch updates.

MyBatisdatabasemultithreading
0 likes · 13 min read
Optimizing Bulk Database Updates with Manual Transactions and Multithreading in Spring/MyBatis
Cognitive Technology Team
Cognitive Technology Team
Apr 25, 2022 · Backend Development

Two Ways to Instantiate org.apache.ibatis.jdbc.SQL in MyBatis

This article explains two techniques for creating an org.apache.ibatis.jdbc.SQL object in MyBatis—using an anonymous inner class with an initializer block and using method‑chaining builder style—provides code examples, explains the underlying Java syntax, and summarizes their differences.

Builder PatternMyBatisjava
0 likes · 4 min read
Two Ways to Instantiate org.apache.ibatis.jdbc.SQL in MyBatis
Java Backend Technology
Java Backend Technology
Apr 20, 2022 · Backend Development

How to Implement Efficient MyBatis Streaming Queries in Spring MVC

This article explains the concept of streaming queries, introduces MyBatis's Cursor interface with its key methods, and provides three practical solutions—using SqlSessionFactory, TransactionTemplate, or @Transactional—to keep database connections open and avoid cursor‑closed errors in Spring MVC applications.

CursorMyBatisSpring MVC
0 likes · 7 min read
How to Implement Efficient MyBatis Streaming Queries in Spring MVC
Programmer DD
Programmer DD
Apr 9, 2022 · Backend Development

Will Spring Data JPA Fail Under Load? Lessons from the New Nucleic Acid Code

After encountering repeated errors and timeouts while retrieving the newly introduced 'nucleic acid code' in China, the author uses the experience to discuss why Spring Data JPA can cause performance problems in high‑concurrency systems compared to MyBatis, urging careful framework selection and deep SQL knowledge.

HibernateMyBatisjava
0 likes · 6 min read
Will Spring Data JPA Fail Under Load? Lessons from the New Nucleic Acid Code
Java Interview Crash Guide
Java Interview Crash Guide
Mar 18, 2022 · Databases

Mastering MyBatis Streaming Queries: Keep Connections Open and Avoid Cursor Errors

Streaming queries return an iterator instead of a full result set, reducing memory usage, but require the database connection to stay open; this guide explains MyBatis’s Cursor interface, its methods, common pitfalls like premature closure, and three practical solutions using SqlSessionFactory, TransactionTemplate, or @Transactional to ensure reliable streaming.

CursorMyBatisStreaming Queries
0 likes · 6 min read
Mastering MyBatis Streaming Queries: Keep Connections Open and Avoid Cursor Errors
Meituan Technology Team
Meituan Technology Team
Mar 17, 2022 · Backend Development

Sonic: Meituan's Hot Deployment IDEA Plugin – Architecture and Implementation

The article details Meituan's internal Sonic IDEA plugin for remote and local hot deployment, explaining why hot deployment is needed, its architecture, instrumentation techniques, DCEVM integration, file‑watching, class reloading, and support for Spring Bean, Spring XML and MyBatis, along with adoption statistics and performance benefits.

DCEVMHot DeploymentIDEA Plugin
0 likes · 19 min read
Sonic: Meituan's Hot Deployment IDEA Plugin – Architecture and Implementation
Java High-Performance Architecture
Java High-Performance Architecture
Mar 17, 2022 · Backend Development

Mastering MyBatis Streaming Queries: Reduce Memory Usage and Avoid Cursor Closure Errors

This article explains what streaming queries are, why they save memory compared to pagination, details the MyBatis Cursor interface and its methods, demonstrates how to implement streaming queries with code examples, and presents three solutions—using SqlSessionFactory, TransactionTemplate, and @Transactional—to keep the database connection open and prevent cursor‑closed errors.

CursorMyBatisStreaming Query
0 likes · 7 min read
Mastering MyBatis Streaming Queries: Reduce Memory Usage and Avoid Cursor Closure Errors
Top Architect
Top Architect
Mar 14, 2022 · Databases

Implementing Multi‑Business‑Unit Sales Queries with SQL Row‑Comparison in MySQL

This article explains how to design a MySQL table for product sales statistics and compares several query strategies—including loop queries, OR concatenation, mixed filtering, and the SQL‑92 row‑comparison technique—to efficiently retrieve sales data for multiple business units and their associated products in a single indexed query.

Database OptimizationDynamic SQLMyBatis
0 likes · 7 min read
Implementing Multi‑Business‑Unit Sales Queries with SQL Row‑Comparison in MySQL
YunZhu Net Technology Team
YunZhu Net Technology Team
Mar 10, 2022 · Backend Development

Elegant Solution for MyBatis Single‑Table Operations with MyBatis‑Pro Framework

The article introduces MyBatis‑Pro, a Spring‑Boot starter that eliminates manual single‑table SQL by generating CRUD methods through naming conventions, explains quick integration, core features, configuration options, entity annotations, logical‑delete strategies, generic services, and provides extensive code examples for developers.

Logical DeleteMyBatisORM
0 likes · 17 min read
Elegant Solution for MyBatis Single‑Table Operations with MyBatis‑Pro Framework
Java Architect Essentials
Java Architect Essentials
Feb 15, 2022 · Databases

mybatis-mate: An Enterprise‑Level MyBatis‑Plus Extension for Sharding, Data Auditing, Encryption, and More

This article introduces mybatis-mate, an official MyBatis‑Plus extension that provides enterprise‑grade features such as sharding, multi‑datasource support, data auditing, field encryption, sensitive‑data masking, automatic DDL maintenance, dynamic datasource switching, distributed transaction logging, and fine‑grained data permission control, with detailed usage examples and configuration snippets for Spring Boot projects.

Data AuditingMyBatisSpring Boot
0 likes · 15 min read
mybatis-mate: An Enterprise‑Level MyBatis‑Plus Extension for Sharding, Data Auditing, Encryption, and More
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Feb 14, 2022 · Backend Development

How MyBatis Parses and Applies Transaction Managers: A Deep Dive

This article walks through how MyBatis parses the transaction manager factory from XML configuration, builds the Environment, and applies the transaction manager during SqlSession creation, including detailed code examples of XMLConfigBuilder, transaction factories, and the JdbcTransaction implementation.

MyBatisbackend-developmentjava
0 likes · 8 min read
How MyBatis Parses and Applies Transaction Managers: A Deep Dive
Selected Java Interview Questions
Selected Java Interview Questions
Feb 11, 2022 · Backend Development

Implementing Sensitive Data Encryption and Decryption in Spring Boot Using MyBatis Interceptors and Custom Annotations

This article demonstrates how to automatically encrypt sensitive fields such as ID numbers and phone numbers before storing them in a database and decrypt them after retrieval by leveraging MyBatis plugins, custom annotations, and Spring Boot components, providing a clean, reusable solution for backend applications.

InterceptorMyBatisSpring Boot
0 likes · 11 min read
Implementing Sensitive Data Encryption and Decryption in Spring Boot Using MyBatis Interceptors and Custom Annotations
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Feb 7, 2022 · Backend Development

Why MyBatis SqlSession Fails with Multiple Threads and How Spring Guarantees Thread Safety

An in‑depth guide shows how running 100 concurrent MyBatis queries triggers a ClassCastException, explains the underlying cache placeholder issue, and demonstrates how Spring Boot’s SqlSessionTemplate and transaction management guarantee thread‑safe SqlSession usage through ThreadLocal binding.

MyBatisORMSpring Boot
0 likes · 19 min read
Why MyBatis SqlSession Fails with Multiple Threads and How Spring Guarantees Thread Safety
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Feb 6, 2022 · Backend Development

Understanding MyBatis Architecture: Layers, Core Components, and Execution Flow

This article provides a comprehensive overview of MyBatis, detailing its three‑layer architecture, core modules such as caching, reflection, and transaction management, as well as the complete execution process from configuration files to SQL execution, helping developers master the framework for enterprise‑level Java applications.

BackendMyBatisORM
0 likes · 11 min read
Understanding MyBatis Architecture: Layers, Core Components, and Execution Flow
Programmer DD
Programmer DD
Jan 28, 2022 · Backend Development

Boost Your Java Persistence with MyBatis Generator GUI: Features & Quick Start

Discover the MyBatis Generator GUI tool that streamlines Java POJO and mapping file creation, outlines its six key features, system requirements, and three easy startup methods—including self‑build, IDE launch, and native packaging—so you can quickly generate MyBatis code.

Database MappingGUI ToolMyBatis
0 likes · 4 min read
Boost Your Java Persistence with MyBatis Generator GUI: Features & Quick Start
Selected Java Interview Questions
Selected Java Interview Questions
Jan 22, 2022 · Databases

Optimizing MyBatis Batch Inserts with ExecutorType.BATCH and Controlled foreach Values

This article analyzes why MyBatis foreach‑based batch inserts become extremely slow with thousands of rows, explains the underlying SQL and PreparedStatement overhead, and demonstrates how switching to ExecutorType.BATCH or limiting foreach values to 20‑50 rows dramatically improves MySQL insertion performance.

Batch InsertExecutorType.BATCHMyBatis
0 likes · 9 min read
Optimizing MyBatis Batch Inserts with ExecutorType.BATCH and Controlled foreach Values
Java Architect Essentials
Java Architect Essentials
Jan 20, 2022 · Databases

Understanding the Difference Between ${} and #{} in MyBatis and Their Impact on SQL Injection

This article explains how MyBatis' ${} and #{} placeholders differ in SQL generation, demonstrates their usage with code examples, analyzes the SQL injection risks of ${} versus the safety of #{} through prepared statements, and provides practical guidelines for choosing the appropriate placeholder in various scenarios.

MyBatisORMSQL injection
0 likes · 10 min read
Understanding the Difference Between ${} and #{} in MyBatis and Their Impact on SQL Injection
Architecture Digest
Architecture Digest
Jan 18, 2022 · Databases

Implementing MyBatis TypeHandler for Field Encryption and Decryption

This article demonstrates how to securely store and retrieve sensitive user data such as phone numbers in a MySQL database by creating a custom MyBatis TypeHandler that automatically encrypts values on insert and decrypts them on query, complete with code examples and configuration steps.

Database SecurityMyBatisTypeHandler
0 likes · 7 min read
Implementing MyBatis TypeHandler for Field Encryption and Decryption
Top Architect
Top Architect
Jan 13, 2022 · Backend Development

Understanding MyBatis Dynamic SQL: Parsing, Nodes, and Execution

This article explains MyBatis dynamic SQL, covering its purpose, the distinction between static and dynamic SQL, the core SqlNode and SqlSource classes, how MyBatis parses and assembles SQL scripts recursively, and provides concrete code examples to illustrate each step.

Code ExampleDynamic SQLMyBatis
0 likes · 13 min read
Understanding MyBatis Dynamic SQL: Parsing, Nodes, and Execution
Top Architect
Top Architect
Jan 8, 2022 · Backend Development

Understanding the Differences Between ${} and #{} in MyBatis and Their Impact on SQL Injection

This article explains how MyBatis' ${} and #{} placeholders differ in syntax substitution and security, demonstrates their usage with DAO interfaces, Mapper XML, and JUnit tests, analyzes SQL injection risks, shows the underlying PreparedStatement handling, and provides practical guidelines for when to use each placeholder.

MyBatisORMPreparedStatement
0 likes · 11 min read
Understanding the Differences Between ${} and #{} in MyBatis and Their Impact on SQL Injection
Top Architect
Top Architect
Jan 4, 2022 · Backend Development

Implementing MyBatis Encryption with a Custom TypeHandler for Sensitive Data

This article demonstrates how to securely store and retrieve sensitive fields such as phone numbers in a MySQL database by creating a custom MyBatis TypeHandler that encrypts data on insert and decrypts it on query, including full implementation code and configuration steps.

MyBatisTypeHandlerencryption
0 likes · 8 min read
Implementing MyBatis Encryption with a Custom TypeHandler for Sensitive Data
Architect's Tech Stack
Architect's Tech Stack
Dec 16, 2021 · Databases

Optimizing MyBatis Batch Inserts with ExecutorType.BATCH and foreach Size Limits

This article explains why MyBatis batch inserts using a foreach loop can become extremely slow when inserting thousands of rows, analyzes the underlying cost of parsing large prepared statements, and presents practical solutions such as using ExecutorType.BATCH, limiting foreach batch size, and employing JDBC batch execution to achieve sub‑second performance.

Batch InsertDatabase PerformanceExecutorType.BATCH
0 likes · 8 min read
Optimizing MyBatis Batch Inserts with ExecutorType.BATCH and foreach Size Limits
Top Architect
Top Architect
Dec 4, 2021 · Databases

Optimizing MyBatis Batch Insert Performance with ExecutorType.BATCH and Foreach Limits

This article explains why MyBatis foreach batch inserts can become extremely slow when inserting thousands of rows, analyzes the underlying SQL and PreparedStatement overhead, and demonstrates how using ExecutorType.BATCH together with a limited batch size (20‑50 rows per statement) dramatically improves insertion speed.

Batch InsertDatabase PerformanceExecutorType.BATCH
0 likes · 9 min read
Optimizing MyBatis Batch Insert Performance with ExecutorType.BATCH and Foreach Limits
Programmer DD
Programmer DD
Dec 3, 2021 · Backend Development

How Mybatis-Plus Enhances MyBatis: A Deep Dive into Its Core Implementation

This article explains how Mybatis-Plus extends MyBatis by injecting dynamic configuration XML, customizing mapper registration, and generating CRUD SQL statements through classes like MybatisSqlSessionFactoryBuilder, MybatisConfiguration, MybatisMapperRegistry, and various AbstractMethod implementations.

BackendMyBatisORM
0 likes · 7 min read
How Mybatis-Plus Enhances MyBatis: A Deep Dive into Its Core Implementation
Programmer DD
Programmer DD
Nov 29, 2021 · Backend Development

Boost MyBatis Efficiency with the PageHelper Pagination Plugin

This article introduces MyBatis-PageHelper, a universal pagination plugin that supports a wide range of databases, explains how to configure custom dialect aliases, shows Maven and Spring integration, details numerous plugin parameters, and provides multiple code examples for various usage patterns.

BackendMyBatisORM
0 likes · 9 min read
Boost MyBatis Efficiency with the PageHelper Pagination Plugin
Programmer DD
Programmer DD
Nov 28, 2021 · Backend Development

Master MyBatis with Mybatis-Mate: Sharding, Encryption, Auditing and More

This article introduces Mybatis-Mate, an enterprise‑level MyBatis extension that provides sharding, data audit, sensitive‑word filtering, field encryption, dictionary binding, data permission, dynamic DDL generation and other features, and shows how to integrate and use them with practical code examples.

Data AuditingMyBatisbackend-development
0 likes · 14 min read
Master MyBatis with Mybatis-Mate: Sharding, Encryption, Auditing and More
Architecture Digest
Architecture Digest
Nov 18, 2021 · Backend Development

Step-by-Step Guide to Building a Multi-Module Spring Boot + MyBatis Project in IntelliJ IDEA

This tutorial walks through setting up a Spring Boot and MyBatis multi‑module project in IntelliJ IDEA, covering environment preparation, directory layout, parent and child module creation, Maven dependency configuration, bean scanning, MyBatis integration, and verification of the running application.

IntelliJMulti‑moduleMyBatis
0 likes · 10 min read
Step-by-Step Guide to Building a Multi-Module Spring Boot + MyBatis Project in IntelliJ IDEA
Top Architect
Top Architect
Nov 17, 2021 · Backend Development

Using MyBatis Streaming Queries with Cursor: Concepts and Implementation Options

This article explains the concept of streaming queries in MyBatis, introduces the Cursor interface, demonstrates typical usage with try‑resource, and provides three practical solutions—using SqlSessionFactory, TransactionTemplate, and @Transactional—to keep the database connection open and avoid cursor‑closed errors.

CursorMyBatisStreaming Query
0 likes · 7 min read
Using MyBatis Streaming Queries with Cursor: Concepts and Implementation Options
macrozheng
macrozheng
Nov 16, 2021 · Backend Development

Master Enterprise Data Management with MyBatis‑Mate: Sharding, Encryption & Auditing

This article introduces MyBatis‑Mate, an official MyBatis‑Plus extension that provides enterprise‑grade features such as sharding, data auditing, field encryption, sensitive data masking, dictionary binding, dynamic DDL maintenance, and flexible data‑source switching, complete with usage examples and code snippets.

Data AuditingField EncryptionMyBatis
0 likes · 10 min read
Master Enterprise Data Management with MyBatis‑Mate: Sharding, Encryption & Auditing
Java High-Performance Architecture
Java High-Performance Architecture
Nov 15, 2021 · Backend Development

Unlock Enterprise-Level Data Management with MyBatis-Mate: Sharding, Encryption, and Dynamic DDL

mybatis-mate extends MyBatis with enterprise-grade capabilities such as sharding, multi-datasource routing, data audit, sensitive-word filtering, field encryption, dictionary binding, dynamic DDL generation, data-scope permissions, and performance logging, providing a comprehensive solution for agile and secure data handling in Java backend applications.

BackendDynamic DDLMyBatis
0 likes · 15 min read
Unlock Enterprise-Level Data Management with MyBatis-Mate: Sharding, Encryption, and Dynamic DDL
Top Architect
Top Architect
Nov 13, 2021 · Backend Development

Introducing MyBatis-Mate: Enterprise‑Level Features for MyBatis‑Plus

This article introduces MyBatis‑Mate, an official MyBatis‑Plus extension that provides enterprise‑grade capabilities such as sharding, data auditing, field encryption, dictionary binding, sensitive data masking, automatic DDL maintenance, dynamic data‑source switching, performance logging, and fine‑grained data‑scope control, all illustrated with practical code examples.

MyBatisMyBatis-MateORM
0 likes · 15 min read
Introducing MyBatis-Mate: Enterprise‑Level Features for MyBatis‑Plus
macrozheng
macrozheng
Nov 11, 2021 · Backend Development

Mastering Spring Boot Read/Write Splitting with Custom Routing DataSource

This tutorial explains how to implement read/write splitting in Spring Boot by configuring multiple data sources, creating a custom AbstractRoutingDataSource, and using AOP to dynamically route queries to master or slave databases based on method patterns and annotations.

MyBatisRouting DataSourceSpring Boot
0 likes · 17 min read
Mastering Spring Boot Read/Write Splitting with Custom Routing DataSource
Architect's Tech Stack
Architect's Tech Stack
Nov 9, 2021 · Backend Development

Comparative Implementation of a Student Score Statistics Query Using Fluent MyBatis, Native MyBatis, and MyBatis‑Plus

This article demonstrates how to implement a student score statistics query—calculating count, minimum, maximum, and average scores per term and subject—using Fluent MyBatis, native MyBatis, and MyBatis‑Plus, comparing code complexity, configuration, and generated code across the three approaches.

Fluent MyBatisMyBatisMyBatis-Plus
0 likes · 9 min read
Comparative Implementation of a Student Score Statistics Query Using Fluent MyBatis, Native MyBatis, and MyBatis‑Plus
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Nov 7, 2021 · Backend Development

Comprehensive Overview and Source Code Analysis of the MyBatis Persistence Framework

This article provides a detailed introduction to MyBatis, covering its relationship with JDBC, core components, execution flow, configuration, design patterns, caching strategies, plugin mechanisms, logging options, dynamic SQL features, and includes complete Java and XML code examples to illustrate practical usage.

BackendDesign PatternsMyBatis
0 likes · 19 min read
Comprehensive Overview and Source Code Analysis of the MyBatis Persistence Framework
Java High-Performance Architecture
Java High-Performance Architecture
Nov 5, 2021 · Backend Development

How to Build a SpringBoot + MyBatis Multi‑Module Project in IntelliJ IDEA

This guide walks through creating a SpringBoot and MyBatis multi‑module project in IntelliJ IDEA, covering environment setup, parent and child module creation, dependency configuration, bean scanning, MyBatis integration, and troubleshooting common startup errors, culminating in a runnable demo endpoint.

IntelliJ IDEAMulti‑moduleMyBatis
0 likes · 13 min read
How to Build a SpringBoot + MyBatis Multi‑Module Project in IntelliJ IDEA
Top Architect
Top Architect
Nov 4, 2021 · Backend Development

Step‑by‑Step Guide to Building a SpringBoot + MyBatis Multi‑Module Project in IntelliJ IDEA

This tutorial walks through setting up a SpringBoot‑based multi‑module Maven project with MyBatis integration in IntelliJ IDEA, covering environment preparation, parent and child module creation, dependency configuration, package scanning, and verification of a simple REST endpoint, while highlighting common pitfalls and solutions.

IDEAMulti‑moduleMyBatis
0 likes · 11 min read
Step‑by‑Step Guide to Building a SpringBoot + MyBatis Multi‑Module Project in IntelliJ IDEA
政采云技术
政采云技术
Oct 26, 2021 · Backend Development

Analysis and Resolution of Frequent Full GC in an Online Service

The article details a real‑world incident where a Java backend service suffered frequent full garbage collections, describes how the problematic instance was identified and isolated, and presents JVM tuning and MyBatis interceptor code changes that eliminated the issue while sharing key lessons learned.

JVMMyBatisdatabase
0 likes · 9 min read
Analysis and Resolution of Frequent Full GC in an Online Service
Programmer DD
Programmer DD
Oct 19, 2021 · Backend Development

Mastering Read/Write Splitting in Spring Boot with Custom Routing DataSource

This article explains how to implement read/write separation in a Spring Boot application by configuring multiple data sources, creating a custom AbstractRoutingDataSource, using AOP to switch between master and slave databases, and demonstrates the setup with Maven, MyBatis, and JUnit tests.

Multi-DataSourceMyBatisRouting DataSource
0 likes · 16 min read
Mastering Read/Write Splitting in Spring Boot with Custom Routing DataSource
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Oct 15, 2021 · Backend Development

Comprehensive Guide to MyBatis Batch Insert: Three Methods, Performance Comparison, and Analysis

This article introduces three MyBatis batch insertion techniques—looped single inserts, MyBatis‑Plus batch inserts, and native SQL batch inserts—provides complete implementation code, performance test results for inserting 100,000 records, analyzes the causes of differences, and offers practical solutions to common pitfalls such as MySQL packet size limits.

Batch InsertMyBatisPerformance Test
0 likes · 13 min read
Comprehensive Guide to MyBatis Batch Insert: Three Methods, Performance Comparison, and Analysis
Selected Java Interview Questions
Selected Java Interview Questions
Oct 12, 2021 · Backend Development

Implementing MyBatis Streaming Queries with Cursor and Keeping Database Connections Open

The article explains the concept of streaming queries in MyBatis, introduces the Cursor interface, demonstrates how to use it in Spring MVC controllers, and provides three practical solutions—SqlSessionFactory, TransactionTemplate, and @Transactional—to keep the database connection open during iteration.

BackendCursorMyBatis
0 likes · 7 min read
Implementing MyBatis Streaming Queries with Cursor and Keeping Database Connections Open
Java Architect Essentials
Java Architect Essentials
Sep 27, 2021 · Backend Development

Comparative Analysis of Java Persistence Frameworks: Hibernate, MyBatis, JOOQ, Ebean, Spring Data JPA and JDBC Template

The article evaluates major Java persistence solutions—Hibernate, MyBatis, JOOQ, Ebean, Spring Data JPA and JDBC Template—by comparing their SQL encapsulation, DSL support, cross‑database portability, performance, and security, ultimately recommending JDBC Template for the author's project.

HibernateJDBCJOOQ
0 likes · 13 min read
Comparative Analysis of Java Persistence Frameworks: Hibernate, MyBatis, JOOQ, Ebean, Spring Data JPA and JDBC Template
Java Architect Essentials
Java Architect Essentials
Sep 25, 2021 · Backend Development

Implementing Read‑Write Splitting in Spring Boot with AbstractRoutingDataSource and AOP

This article explains how to achieve read‑write splitting in a Spring Boot application by configuring multiple data sources, creating a custom AbstractRoutingDataSource, managing routing keys with ThreadLocal, and using AOP to automatically switch between master and slave databases for different CRUD operations.

DataSource RoutingMyBatisSpring Boot
0 likes · 12 min read
Implementing Read‑Write Splitting in Spring Boot with AbstractRoutingDataSource and AOP
Top Architect
Top Architect
Sep 25, 2021 · Backend Development

Hospital Registration System Using Java Spring MVC, MyBatis, and MySQL

This article provides a step‑by‑step tutorial for building a hospital registration web application with Java, Spring MVC, MyBatis, JSP pages, and MySQL, covering environment setup, database schema, DAO interfaces, service implementation, controller logic, and front‑end pages.

JSPMyBatisSpring MVC
0 likes · 18 min read
Hospital Registration System Using Java Spring MVC, MyBatis, and MySQL
Java Architect Essentials
Java Architect Essentials
Sep 23, 2021 · Backend Development

MyBatis Dynamic SQL: Using if, choose, foreach, trim, and bind Tags with Practical Code Samples

This article demonstrates how MyBatis dynamic SQL simplifies conditional query building by explaining the usage of if, choose, foreach, trim, and bind tags, providing Maven project setup, table creation scripts, mapper interfaces, XML snippets, and unit test examples for SELECT, UPDATE, INSERT, and batch operations.

BackendDynamic SQLMyBatis
0 likes · 19 min read
MyBatis Dynamic SQL: Using if, choose, foreach, trim, and bind Tags with Practical Code Samples
Alibaba Cloud Developer
Alibaba Cloud Developer
Sep 7, 2021 · Information Security

How to Prevent SQL Injection in MyBatis and Other ORM Frameworks

This article explains the principles behind SQL injection, common pitfalls in MyBatis and other ORM tools, and provides concrete safe coding patterns, configuration tips, and code examples to help developers eliminate injection vulnerabilities in their persistence layer.

MyBatisORM securitySQL injection
0 likes · 15 min read
How to Prevent SQL Injection in MyBatis and Other ORM Frameworks
Java Captain
Java Captain
Sep 4, 2021 · Backend Development

Hospital Registration System Using Java Spring MVC and MyBatis

This article presents a complete Java‑based hospital registration system built with Spring MVC, MyBatis, and JSP, detailing the development environment, database schema, source code for controllers, DAOs, services, configuration files, and web pages to enable patient search, registration, and status updates.

Hospital ManagementJSPMyBatis
0 likes · 24 min read
Hospital Registration System Using Java Spring MVC and MyBatis
High Availability Architecture
High Availability Architecture
Sep 3, 2021 · Backend Development

MyBatis Complete Example and Internal Architecture Overview

This article provides a thorough introduction to MyBatis, including a complete beginner example with database schema, Maven configuration, XML and Java mapper files, and a demo program, followed by an in‑depth explanation of MyBatis’s lifecycle, core components such as SqlSession, Executor, StatementHandler, ParameterHandler, ResultSetHandler, and their interactions.

ExecutorMyBatisORM
0 likes · 27 min read
MyBatis Complete Example and Internal Architecture Overview
vivo Internet Technology
vivo Internet Technology
Sep 2, 2021 · Backend Development

Complete MyBatis Example and Architecture Overview

The article presents a step‑by‑step MyBatis tutorial that creates a sample user table, adds Maven dependencies, configures MyBatis, defines mapper XML and Java interfaces, demonstrates a test program, and explains core components such as SqlSession, Executor, StatementHandler, ParameterHandler, and ResultSetHandler.

ExecutorMyBatisORM
0 likes · 28 min read
Complete MyBatis Example and Architecture Overview
Java Architecture Diary
Java Architecture Diary
Sep 2, 2021 · Backend Development

Master MyBatis‑Mate: Dictionary Binding, Encryption, Sharding & Data Scope Explained

This guide introduces MyBatis‑Mate’s core capabilities—including dictionary binding, field encryption, data masking, automatic DDL maintenance, dynamic sharding, and data‑scope permissions—while providing Maven dependencies and complete Java code examples for integrating these features into Spring Boot applications.

BackendData PermissionMyBatis
0 likes · 8 min read
Master MyBatis‑Mate: Dictionary Binding, Encryption, Sharding & Data Scope Explained
Java Backend Technology
Java Backend Technology
Aug 29, 2021 · Backend Development

Which Java Persistence Framework Wins? A Deep Comparison of JOOQ, MyBatis, Hibernate, JPA, and JDBC Template

This article evaluates popular and niche Java persistence frameworks—Hibernate, MyBatis, JOOQ, Ebean, JPA, and Spring JDBC Template—by comparing SQL encapsulation, performance, DSL support, cross‑database portability, and security, ultimately explaining why the author chose JDBC Template for their project.

JOOQMyBatisORM
0 likes · 13 min read
Which Java Persistence Framework Wins? A Deep Comparison of JOOQ, MyBatis, Hibernate, JPA, and JDBC Template
Java High-Performance Architecture
Java High-Performance Architecture
Aug 25, 2021 · Backend Development

13 Essential Java Coding Practices to Boost Performance and Cleanliness

This article presents a comprehensive guide to writing more standardized Java code, covering topics such as avoiding "1=1" in MyBatis, iterating Map entrySet, pre‑sizing collections, using StringBuilder, preferring Set for contains checks, proper static initialization, removing unused variables, shielding utility constructors, eliminating redundant exception handling, using String.valueOf, avoiding BigDecimal(double), returning empty collections instead of null, safe equals usage, immutable enum fields, and correctly escaping regex in String.split, each illustrated with clear code examples.

ExceptionsMyBatiscoding standards
0 likes · 15 min read
13 Essential Java Coding Practices to Boost Performance and Cleanliness
Programmer DD
Programmer DD
Aug 25, 2021 · Databases

How to Efficiently Insert Massive Data Without Duplicates in MySQL

This article explains several MySQL techniques—INSERT IGNORE, ON DUPLICATE KEY UPDATE, INSERT…SELECT WHERE NOT EXISTS, and REPLACE—plus a practical MyBatis batch‑insert example, to handle large‑scale data imports while preventing duplicate records.

Batch InsertMyBatisduplicate handling
0 likes · 5 min read
How to Efficiently Insert Massive Data Without Duplicates in MySQL
Selected Java Interview Questions
Selected Java Interview Questions
Aug 23, 2021 · Backend Development

Optimizing Bulk Data Import into MySQL with MyBatis: From Simple List Insertion to Multi‑Threaded Batch Processing

This article demonstrates how to dramatically speed up importing tens of thousands of records into MySQL by evolving a naïve list‑to‑MySQL approach into grouped batch inserts and finally a multi‑threaded MyBatis solution, while also addressing packet size limits and configuration tweaks.

BackendBatch InsertMyBatis
0 likes · 9 min read
Optimizing Bulk Data Import into MySQL with MyBatis: From Simple List Insertion to Multi‑Threaded Batch Processing
Top Architect
Top Architect
Aug 20, 2021 · Databases

Querying Multi‑Business Unit Product Sales Statistics with MySQL and MyBatis Dynamic SQL

This article explains how to retrieve sales statistics for multiple business units and their associated products from a MySQL table, compares several implementation approaches—including loop queries, OR concatenation, mixed filtering, and row‑comparison using MyBatis dynamic SQL—evaluates index usage, and provides the final recommended solution.

Database QueryDynamic SQLMyBatis
0 likes · 8 min read
Querying Multi‑Business Unit Product Sales Statistics with MySQL and MyBatis Dynamic SQL