Tagged articles
738 articles
Page 3 of 8
IT Services Circle
IT Services Circle
Apr 18, 2024 · Databases

Improving MySQL Insert Performance with Batch Operations and MyBatis Flex

This article explains how to boost MySQL insertion speed by adjusting server hardware, tuning database parameters, choosing the MyISAM engine, and especially applying three batch‑insert techniques—SQL concatenation, MyBatis‑Flex saveBatch, and manual transaction batching—while showing test results and configuration tips.

Batch InsertDatabase OptimizationMyBatis
0 likes · 8 min read
Improving MySQL Insert Performance with Batch Operations and MyBatis Flex
Top Architect
Top Architect
Apr 15, 2024 · Backend Development

Implementing Data Masking in SQL, Java, and MyBatis‑Mate Sensitive Jackson

This article demonstrates how to mask sensitive data such as phone numbers, ID cards, and personal information using SQL string functions, a Java library (sensitive‑plus), and the MyBatis‑Mate Sensitive Jackson plugin, providing complete code examples, configuration files, and test results for backend developers.

MyBatisbackend-developmentdata masking
0 likes · 11 min read
Implementing Data Masking in SQL, Java, and MyBatis‑Mate Sensitive Jackson
Java Architect Essentials
Java Architect Essentials
Apr 9, 2024 · Backend Development

Implementing Data Isolation in Java Applications Using MyBatis Interceptor and Custom Annotations

This article describes a Java data isolation solution that adds an 'env' field to tables, uses a MyBatis interceptor to rewrite SQL for environment‑aware queries, and introduces custom annotations with AOP to selectively skip environment checks, detailing implementation, challenges, and best practices.

BackendCustom AnnotationData Isolation
0 likes · 13 min read
Implementing Data Isolation in Java Applications Using MyBatis Interceptor and Custom Annotations
Java Tech Enthusiast
Java Tech Enthusiast
Apr 5, 2024 · Databases

Efficient Insertion of 300,000 Records Using MyBatis and JDBC

The article shows how to efficiently load 300,000 MySQL rows in Java by comparing MyBatis and plain-JDBC batch inserts, demonstrating that batching 1,000‑5,000 records per transaction with proper transaction control, connection pooling, and MySQL tuning reduces insertion time from hours to seconds.

Batch InsertJDBCMyBatis
0 likes · 13 min read
Efficient Insertion of 300,000 Records Using MyBatis and JDBC
dbaplus Community
dbaplus Community
Apr 2, 2024 · Backend Development

Why MyBatis‑Plus Upgrade Triggers LocalDateTime Errors and How to Fix Them

A legacy Java project using MySQL, MyBatis 3.5.0, and an old mysql‑connector‑java version encounters a Conversion not supported for java.time.LocalDateTime error after switching to MyBatis‑Plus, and the article walks through root‑cause analysis, version upgrades, and practical fixes.

LocalDateTimeMyBatisjava
0 likes · 14 min read
Why MyBatis‑Plus Upgrade Triggers LocalDateTime Errors and How to Fix Them
Top Architect
Top Architect
Mar 31, 2024 · Databases

Inserting 300,000 Records with MyBatis and JDBC: Batch vs Loop Approaches and Performance Optimization

This article demonstrates how to insert 300,000 rows into a MySQL table using MyBatis and JDBC, compares bulk batch insertion with per‑row looping, discusses packet size limits, transaction handling, performance metrics, and provides practical code snippets and optimization tips for efficient large‑scale data loading.

Batch InsertJDBCMyBatis
0 likes · 16 min read
Inserting 300,000 Records with MyBatis and JDBC: Batch vs Loop Approaches and Performance Optimization
Java Architect Essentials
Java Architect Essentials
Mar 14, 2024 · Backend Development

Understanding MyBatis Dynamic SQL and Tag Usage

This article explains MyBatis dynamic SQL, its purpose, and how to use various tags such as if, where, trim, choose, foreach, include, sql, resultMap, association, and collection, providing detailed code examples and best‑practice guidelines for building flexible and secure SQL statements in Java applications.

Dynamic SQLMyBatisORM
0 likes · 15 min read
Understanding MyBatis Dynamic SQL and Tag Usage
Java Captain
Java Captain
Mar 14, 2024 · Backend Development

Comprehensive Guide to MyBatis Dynamic SQL and XML Mapping Tags

This article explains MyBatis dynamic SQL concepts, details the nine dynamic tags (if, where, set, choose, trim, foreach, sql, include, association), provides complete XML mapper examples with code snippets, and demonstrates one‑to‑many, many‑to‑one, and many‑to‑many association queries for Java backend development.

Dynamic SQLMyBatisORM
0 likes · 16 min read
Comprehensive Guide to MyBatis Dynamic SQL and XML Mapping Tags
Code Ape Tech Column
Code Ape Tech Column
Mar 8, 2024 · Backend Development

Implementing Environment Isolation in MyBatis with a Custom Interceptor and Annotation

This article describes how to achieve data environment isolation in a Java application by creating a custom MyBatis interceptor and annotation, allowing automatic SQL modification to handle env fields, reducing code changes, improving safety, and supporting flexible deployment across pre‑release, gray, and production environments.

InterceptorMyBatisannotation
0 likes · 11 min read
Implementing Environment Isolation in MyBatis with a Custom Interceptor and Annotation
Architecture Digest
Architecture Digest
Mar 6, 2024 · Databases

Implementing SaaS Multi‑Tenant Architecture with Shared Database Table Partitioning in MySQL

This article explains how to design a SaaS system that isolates each subsidiary's data by adding a tenant_id column to a shared MySQL table, converting the table to LIST‑partitioned storage, and enforcing tenant‑level access through stored procedures and a MyBatis interceptor, complete with code examples and testing steps.

MyBatisSaaSStored Procedure
0 likes · 18 min read
Implementing SaaS Multi‑Tenant Architecture with Shared Database Table Partitioning in MySQL
JD Tech
JD Tech
Mar 6, 2024 · Backend Development

Fixing Incorrect Total Count in PageHelper Pagination Using PageInfo

This article analyzes why the total record count returned by PageHelper mismatches the actual number of rows, examines the underlying PageInfo and PageSerializable source code, and provides a concrete solution that avoids type conversion and directly constructs PageInfo from the mapper result to ensure accurate pagination.

BackendMyBatisPageInfo
0 likes · 7 min read
Fixing Incorrect Total Count in PageHelper Pagination Using PageInfo
Selected Java Interview Questions
Selected Java Interview Questions
Mar 6, 2024 · Backend Development

Encapsulating EasyExcel for Simplified Import/Export in Spring Boot Applications

This article demonstrates how to wrap EasyExcel within a Spring Boot + MyBatis‑Plus project to provide clean, reusable import and export APIs, covering environment setup, annotation usage, controller implementation, core service design, common pitfalls, and solutions for date and template handling.

BackendCodeExampleExcelImportExport
0 likes · 19 min read
Encapsulating EasyExcel for Simplified Import/Export in Spring Boot Applications
Java Backend Technology
Java Backend Technology
Mar 4, 2024 · Backend Development

How to Achieve Seamless Data Isolation in SpringBoot with MyBatis Interceptors

This article walks through the challenges of sharing a single database across pre‑release, gray, and online environments, explains how to add an env field for isolation, and shows a custom MyBatis interceptor and annotation‑driven AOP solution that rewrites SQL to automatically handle environment filtering and insertion while keeping business code untouched.

Custom AnnotationData IsolationInterceptor
0 likes · 9 min read
How to Achieve Seamless Data Isolation in SpringBoot with MyBatis Interceptors
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Feb 26, 2024 · Backend Development

Understanding and Configuring Pagination Rationalization with MyBatis PageHelper in SpringBoot

This article explains pagination rationalization in SpringBoot using MyBatis PageHelper, illustrates common unreasonable pagination scenarios, demonstrates a bug caused by page deletion, and shows how a simple two‑line configuration or per‑query setting resolves the issue while detailing the underlying implementation.

BackendMyBatisSpringBoot
0 likes · 8 min read
Understanding and Configuring Pagination Rationalization with MyBatis PageHelper in SpringBoot
Java High-Performance Architecture
Java High-Performance Architecture
Feb 24, 2024 · Backend Development

Unlock MyBatis Performance: Master First‑Level and Second‑Level Caches in SpringBoot

This article explains how MyBatis implements first‑level (session) and second‑level (namespace) caches, details their activation conditions, common pitfalls—especially when integrated with SpringBoot—and provides step‑by‑step configuration, code examples, and best‑practice recommendations to ensure cache effectiveness while avoiding hidden hazards.

CacheMyBatisSpringBoot
0 likes · 11 min read
Unlock MyBatis Performance: Master First‑Level and Second‑Level Caches in SpringBoot
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Feb 19, 2024 · Backend Development

Understanding the Thread‑Safety Mechanism of MyBatis SqlSessionTemplate in Spring Integration

This article explains why MyBatis' default SqlSession implementation is not thread‑safe, how Spring‑MyBatis integration introduces SqlSessionTemplate and its dynamic proxy, and how transaction‑bound ThreadLocal management ensures safe SqlSession usage across multiple threads.

MyBatisThreadLocalTransactionManagement
0 likes · 11 min read
Understanding the Thread‑Safety Mechanism of MyBatis SqlSessionTemplate in Spring Integration
Su San Talks Tech
Su San Talks Tech
Feb 15, 2024 · Backend Development

How to Ensure Transaction Rollback in Spring Multithreaded Operations

This article explains why the @Transactional annotation fails in Spring when using multithreading, demonstrates a failing example, and provides a solution using manual SqlSession management to guarantee that all database changes are rolled back if any thread encounters an exception.

MyBatisjavamultithreading
0 likes · 10 min read
How to Ensure Transaction Rollback in Spring Multithreaded Operations
Java Tech Enthusiast
Java Tech Enthusiast
Feb 9, 2024 · Backend Development

Understanding PageHelper Issues and ThreadLocal in MyBatis Pagination

Unexpected duplicate registrations, truncated query results, and password‑reset SQL errors in a Java backend were traced to PageHelper’s ThreadLocal pagination state persisting across requests when startPage() is called without immediate query execution, so developers should ensure immediate execution or manually clear the ThreadLocal to prevent stale LIMIT clauses.

MyBatisThreadLocaljava
0 likes · 12 min read
Understanding PageHelper Issues and ThreadLocal in MyBatis Pagination
JD Retail Technology
JD Retail Technology
Jan 31, 2024 · Databases

Low‑Cost Database Stability Improvement and Lightweight Table Partitioning Using MyBatis Interceptor

This article explains how to use a MyBatis interceptor to cheaply improve database stability for high‑growth tables, compares common archiving and sharding solutions, and provides a complete, code‑driven implementation of date‑based horizontal sharding with binlog‑driven double‑write to handle critical‑point data continuity.

BinlogInterceptorMyBatis
0 likes · 11 min read
Low‑Cost Database Stability Improvement and Lightweight Table Partitioning Using MyBatis Interceptor
Java High-Performance Architecture
Java High-Performance Architecture
Jan 19, 2024 · Backend Development

Mastering Data Isolation in Java: MyBatis Interceptor & Custom Annotations

This article walks through the challenges of environment‑specific data isolation in a Java project, explains why adding an env column to every table is impractical, and presents a clean solution using a MyBatis interceptor that rewrites SQL and custom annotations to control filtering, ensuring safe, maintainable code across pre‑release, gray, and production environments.

Custom AnnotationData IsolationInterceptor
0 likes · 12 min read
Mastering Data Isolation in Java: MyBatis Interceptor & Custom Annotations
Architect
Architect
Jan 15, 2024 · Backend Development

Implementing Data Isolation in MyBatis with a Custom Interceptor and Annotations

This article walks through the problem of sharing a single database across pre‑release, gray, and production environments, explains why adding an env column to dozens of tables is error‑prone, and demonstrates a MyBatis interceptor‑based solution with custom annotations that isolates data while preserving backward compatibility.

BackendCustom AnnotationData Isolation
0 likes · 14 min read
Implementing Data Isolation in MyBatis with a Custom Interceptor and Annotations
Top Architect
Top Architect
Jan 11, 2024 · Databases

Implementing Multi‑Tenant SaaS Architecture with MySQL Partitioning and MyBatis Interceptor

This article demonstrates how to convert a single‑tenant MySQL application into a multi‑tenant SaaS solution by adding a tenant_id column, using shared‑database partitioning, creating tenant tables, writing stored procedures for dynamic partition management, and implementing a MyBatis interceptor for hierarchical data permissions.

MyBatisSaaSStored Procedure
0 likes · 19 min read
Implementing Multi‑Tenant SaaS Architecture with MySQL Partitioning and MyBatis Interceptor
Architect
Architect
Jan 9, 2024 · Databases

How to Build a Multi‑Tenant SaaS Architecture with MySQL Partitioning and MyBatis Interceptor

This article walks through converting a single‑tenant MySQL application into a SaaS solution by adding a tenant_id column, using shared‑database table partitioning, creating tenant metadata tables, writing stored procedures to add columns and partitions, and implementing a MyBatis interceptor for automatic data‑permission enforcement.

Data PermissionMyBatisSaaS
0 likes · 22 min read
How to Build a Multi‑Tenant SaaS Architecture with MySQL Partitioning and MyBatis Interceptor
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Jan 8, 2024 · Information Security

Understanding SQL Injection and Prevention with Spring Boot and MyBatis

This article explains the concept of SQL injection, demonstrates a vulnerable query example, and provides a step‑by‑step Spring Boot and MyBatis implementation—including table creation, Java controller, service, DAO, mapper, and configuration—to illustrate how proper parameter handling prevents injection attacks.

Database SecurityMyBatisSQL injection
0 likes · 10 min read
Understanding SQL Injection and Prevention with Spring Boot and MyBatis
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Jan 6, 2024 · Backend Development

Understanding and Using @MapKey Annotation in MyBatis

This article explains how to use MyBatis's @MapKey annotation to map query results into a Java Map, compares common data‑retrieval approaches, provides a concrete example with mapper code, and delves into the internal parsing and result‑handling mechanisms that enable key‑value mapping.

@MapKeyMyBatisORM
0 likes · 8 min read
Understanding and Using @MapKey Annotation in MyBatis
Java Architect Essentials
Java Architect Essentials
Jan 1, 2024 · Backend Development

Outdated Java Technologies You Can Skip Learning: JSP, Struts, Hibernate, Servlet, and More

The article outlines which Java technologies—such as JSP, Struts, Hibernate, Servlet, Applet, Swing, JDBC, and XML—are now largely obsolete or unnecessary to learn for modern backend development, offering criteria for judging relevance and recommending focus on current frameworks like Spring MVC and MyBatis.

BackendMyBatisObsolete Technologies
0 likes · 7 min read
Outdated Java Technologies You Can Skip Learning: JSP, Struts, Hibernate, Servlet, and More
Java High-Performance Architecture
Java High-Performance Architecture
Dec 28, 2023 · Backend Development

How to Perform Fuzzy Search on Encrypted Fields in Java Applications

This article explains why traditional LIKE queries fail on encrypted sensitive fields, analyzes common scenarios, and presents four practical solutions—including tokenized ciphertext mapping—along with environment setup, Maven dependencies, and complete Spring Boot code to enable secure fuzzy searches on encrypted data.

MyBatisSpring Bootdatabase
0 likes · 13 min read
How to Perform Fuzzy Search on Encrypted Fields in Java Applications
Java Backend Technology
Java Backend Technology
Dec 28, 2023 · Backend Development

Automate Java CRUD Code Generation with a Free Open‑Source Tool

Tired of manually creating entity classes, CRUD interfaces and SQL for dozens of tables, the author built an open‑source utility that generates complete backend code—including models, DAOs, services and controllers—in a single click, dramatically cutting development time.

CRUD automationMyBatisjava
0 likes · 16 min read
Automate Java CRUD Code Generation with a Free Open‑Source Tool
Java Architect Essentials
Java Architect Essentials
Dec 22, 2023 · Backend Development

A Comprehensive Overview of MyBatis Architecture and Core Components

This article provides a detailed, global‑level review of MyBatis, covering its main features such as SQL mapping, dynamic SQL, parameter and result mapping, transaction management, connection‑pool integration, second‑level cache, as well as the three‑layer architecture, configuration parsing, proxy creation, and SQL execution process.

BackendMyBatisORM
0 likes · 9 min read
A Comprehensive Overview of MyBatis Architecture and Core Components
政采云技术
政采云技术
Dec 20, 2023 · Backend Development

MyBatis Cache Issues

This article explains MyBatis's first‑level and second‑level cache mechanisms, illustrates common consistency problems caused by default cache settings in both distributed and single‑session scenarios, and provides practical recommendations such as adjusting localCacheScope or deep‑copying results to avoid cache pitfalls.

BackendCacheMyBatis
0 likes · 12 min read
MyBatis Cache Issues
Architecture Digest
Architecture Digest
Dec 18, 2023 · Backend Development

Design Patterns Used in the MyBatis Framework

This article examines the various design patterns—such as Factory, Singleton, Builder, Adapter, Proxy, Composite, Decorator, Template, Strategy, and Iterator—employed within the MyBatis source code, explaining their structures, usage scenarios, and related components to illustrate how the framework achieves modularity and flexibility.

MyBatisORMbackend-development
0 likes · 9 min read
Design Patterns Used in the MyBatis Framework
Selected Java Interview Questions
Selected Java Interview Questions
Dec 12, 2023 · Backend Development

Spring Boot Integration with Spring Batch: A Complete Tutorial and Example

This article provides a step‑by‑step guide on integrating Spring Batch with Spring Boot, covering business scenarios, database setup, Maven dependencies, configuration of JobRepository, JobLauncher, Job, Step, ItemReader, ItemProcessor, ItemWriter, listeners, validators, execution via REST endpoints, troubleshooting with Druid and switching to HikariCP, and demonstrates processing CSV and database data in large batches.

Batch ProcessingMyBatisSpring Batch
0 likes · 19 min read
Spring Boot Integration with Spring Batch: A Complete Tutorial and Example
Java Architect Essentials
Java Architect Essentials
Dec 11, 2023 · Databases

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

The MyBatis SQL Viewer plugin for IntelliJ IDEA converts MyBatis XML to executable SQL, offers comprehensive mock data generation, compliance and index checks, execution plans, stress testing, and project‑wide scanning, streamlining CRUD development without repeated application restarts.

Database ToolsIDE pluginMyBatis
0 likes · 10 min read
MyBatis SQL Viewer Plugin: Features, Installation, and Usage Guide
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Dec 11, 2023 · Backend Development

Configuring Multiple Data Sources in Spring Boot with MyBatis

This article explains the underlying principles and step‑by‑step configuration for integrating Spring Boot with MyBatis to manage multiple data sources, covering BeanFactory, FactoryBean, SqlSessionFactoryBean setup, datasource properties, mapper scanning, and sample controller code for accessing distinct databases.

BackendMulti-DataSourceMyBatis
0 likes · 8 min read
Configuring Multiple Data Sources in Spring Boot with MyBatis
Selected Java Interview Questions
Selected Java Interview Questions
Dec 5, 2023 · Backend Development

Implementing Data Isolation in Java Applications Using MyBatis Interceptor and Custom Annotations

This article describes a practical approach to achieve environment‑based data isolation in Java services by adding an env field to tables, using a MyBatis interceptor to rewrite SQL, and defining custom annotations with AOP to control the isolation logic, while sharing code snippets and lessons learned.

Custom AnnotationData IsolationMyBatis
0 likes · 9 min read
Implementing Data Isolation in Java Applications Using MyBatis Interceptor and Custom Annotations
Java High-Performance Architecture
Java High-Performance Architecture
Nov 29, 2023 · Backend Development

Understanding MyBatis: A Complete Architecture Overview and Workflow

This article provides a comprehensive, step‑by‑step overview of MyBatis’s architecture—including its three‑layer design, configuration parsing, proxy generation, and SQL execution process—while highlighting key features such as SQL mapping, dynamic SQL, parameter and result mapping, transaction management, connection‑pool integration, and second‑level caching.

MyBatisORMSQL Mapping
0 likes · 9 min read
Understanding MyBatis: A Complete Architecture Overview and Workflow
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Nov 25, 2023 · Backend Development

Understanding Spring’s FactoryBean and MyBatis Integration: From BeanFactory to MapperFactoryBean

This article explains how Spring’s FactoryBean mechanism enables seamless integration with MyBatis by detailing the roles of BeanFactory, SqlSessionFactoryBean, MapperScannerConfigurer, and MapperFactoryBean, and provides annotated code examples and XML configuration to illustrate the underlying process and its benefits for transaction management and thread safety.

FactoryBeanIntegrationMyBatis
0 likes · 13 min read
Understanding Spring’s FactoryBean and MyBatis Integration: From BeanFactory to MapperFactoryBean
JD Cloud Developers
JD Cloud Developers
Nov 21, 2023 · Backend Development

Mastering Read‑Write Separation in Spring Boot: A Complete Guide

This guide explains how to implement read‑write separation in Spring Boot applications by configuring master and slave databases, creating dynamic routing data sources, using custom annotations and AOP, integrating HikariCP and MyBatis, and handling thread‑local context for optimal performance.

HikariCPMyBatisRead-Write Separation
0 likes · 10 min read
Mastering Read‑Write Separation in Spring Boot: A Complete Guide
Architecture Digest
Architecture Digest
Nov 16, 2023 · Backend Development

Structuring Session‑Based Scene Data with MyBatis in Java

This article explains how to redesign a JSON payload that repeats a sessionId for each scene by moving the sessionId to the outer level and using MyBatis resultMap with a collection to map a Session object containing a list of Scene objects, including Java entity definitions, mapper XML, service, and controller code.

BackendControllerMyBatis
0 likes · 5 min read
Structuring Session‑Based Scene Data with MyBatis in Java
Java Captain
Java Captain
Nov 11, 2023 · Backend Development

Analyzing and Reproducing OutOfMemoryError in MyBatis-based Java Services

This article examines the causes of Java OutOfMemoryError in a distributed backend service, analyzes MyBatis-related memory leaks, demonstrates a reproducible scenario with large SQL concatenations and multithreading, and offers practical mitigation strategies to prevent heap and metaspace overflow.

BackendMyBatisOutOfMemoryError
0 likes · 6 min read
Analyzing and Reproducing OutOfMemoryError in MyBatis-based Java Services
Architect
Architect
Nov 6, 2023 · Backend Development

Unveiling MyBatis: A Deep Dive into Its Architecture and Execution Flow

This article provides a comprehensive, step‑by‑step analysis of MyBatis’s overall architecture, covering its core features, three‑layer design, configuration parsing, proxy generation, SQL execution process, and the underlying components that enable seamless Java‑to‑SQL mapping.

MyBatisORMSQL Mapping
0 likes · 11 min read
Unveiling MyBatis: A Deep Dive into Its Architecture and Execution Flow
macrozheng
macrozheng
Nov 6, 2023 · Backend Development

Mastering MyBatis PageHelper: Avoid Common Pagination Pitfalls

This article explains the core principles and multiple usage patterns of MyBatis PageHelper for pagination, demonstrates code examples, details its internal ThreadLocal and interceptor mechanisms, and highlights common pitfalls with safe versus unsafe practices to ensure reliable data retrieval.

MyBatisjavapagehelper
0 likes · 9 min read
Mastering MyBatis PageHelper: Avoid Common Pagination Pitfalls
dbaplus Community
dbaplus Community
Nov 5, 2023 · Backend Development

Three Hidden Pagination Pitfalls That Can Break Your Production System

The article recounts three real‑world pagination bugs—batch‑processing loops, misuse of MyBatis PageHelper, and nondeterministic results from identical ORDER BY values—explaining why they occur, how they manifest in production, and concrete fixes to avoid data loss or endless loops.

MyBatismysqlpagehelper
0 likes · 15 min read
Three Hidden Pagination Pitfalls That Can Break Your Production System
政采云技术
政采云技术
Nov 2, 2023 · Information Security

Design and Implementation of a Multi‑System Data Permission Control System

This article describes a unified, configurable data‑permission framework built on RBAC, detailing its architecture, rule definition, integration workflow, Java SDK implementation, and practical examples to achieve flexible, low‑coupling access control across multiple backend systems.

Data PermissionMyBatisRBAC
0 likes · 11 min read
Design and Implementation of a Multi‑System Data Permission Control System
Java Architect Essentials
Java Architect Essentials
Oct 23, 2023 · Backend Development

Design Patterns Employed in the MyBatis Framework

This article analyzes the MyBatis source code, illustrating how it applies a variety of design patterns—including Factory, Singleton, Builder, Adapter, Proxy, Composite, Decorator, Template, Strategy, and Iterator—to solve complex architectural challenges and improve modularity, extensibility, and maintainability.

Design PatternsFactory PatternMyBatis
0 likes · 8 min read
Design Patterns Employed in the MyBatis Framework
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Oct 21, 2023 · Backend Development

Comprehensive Spring Boot Tutorial: Configuration, Logging, MVC, Data Access, Docker, and Custom Starters

This tutorial provides an in‑depth guide to Spring Boot covering core concepts such as project setup, configuration files, logging frameworks, MVC architecture, CRUD examples, error handling, embedded servlet containers, Docker integration, JDBC/MyBatis/JPA data access, startup process, and how to create custom starter modules.

BackendConfigurationDocker
0 likes · 47 min read
Comprehensive Spring Boot Tutorial: Configuration, Logging, MVC, Data Access, Docker, and Custom Starters
Top Architect
Top Architect
Oct 17, 2023 · Backend Development

Implementation and Comparison of Fluent MyBatis, Native MyBatis, and MyBatis‑Plus for Student Score Statistics

This article presents a typical requirement to calculate count, minimum, maximum, and average scores for three subjects in a student_score table, demonstrates how to fulfill it using raw SQL, then shows step‑by‑step implementations with Fluent MyBatis, native MyBatis XML, and MyBatis‑Plus code generation, and finally compares the three approaches highlighting their pros and cons.

Fluent MyBatisMyBatisORM
0 likes · 9 min read
Implementation and Comparison of Fluent MyBatis, Native MyBatis, and MyBatis‑Plus for Student Score Statistics
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Oct 6, 2023 · Backend Development

Secure Your Spring Boot Data with MyBatis Custom TypeHandler Encryption

This tutorial demonstrates how to integrate a custom MyBatis TypeHandler in a Spring Boot 2.6.12 application to automatically encrypt sensitive fields before persisting them to MySQL and decrypt them on retrieval, covering dependencies, configuration, entity definition, encryption utilities, mapper XML, and test cases.

Custom TypeHandlerMyBatisSpring Boot
0 likes · 10 min read
Secure Your Spring Boot Data with MyBatis Custom TypeHandler Encryption
Selected Java Interview Questions
Selected Java Interview Questions
Oct 5, 2023 · Backend Development

Design Patterns Employed in the MyBatis Framework

The MyBatis source code, spanning over twenty thousand lines, extensively applies creational, structural, and behavioral design patterns—such as Factory, Singleton, Builder, Adapter, Proxy, Composite, Decorator, Template, Strategy, and Iterator—to decouple complex scenarios and illustrate advanced backend architecture practices.

Design PatternsMyBatisORM
0 likes · 7 min read
Design Patterns Employed in the MyBatis Framework
Code Ape Tech Column
Code Ape Tech Column
Oct 2, 2023 · Backend Development

Design Patterns Used in the MyBatis Framework

This article reviews the various design patterns—creational, structural, and behavioral—employed within MyBatis's source code, illustrating each pattern with diagrams and explaining their roles in simplifying factory creation, singleton configuration, builders, adapters, proxies, decorators, templates, strategies, and iterators.

Design PatternsFactory PatternMyBatis
0 likes · 12 min read
Design Patterns Used in the MyBatis Framework
Su San Talks Tech
Su San Talks Tech
Oct 1, 2023 · Backend Development

How to Efficiently Insert 300,000 Records with MyBatis and JDBC

This article demonstrates multiple approaches—including direct MyBatis batch, per‑row insertion, and JDBC batch processing—to insert 300,000 user records into a MySQL table, compares their performance, and provides practical optimization tips such as batch size tuning, waiting intervals, index handling, and connection‑pool configuration.

Batch InsertJDBCMyBatis
0 likes · 12 min read
How to Efficiently Insert 300,000 Records with MyBatis and JDBC
Architect's Tech Stack
Architect's Tech Stack
Sep 26, 2023 · Backend Development

Deep Dive into MyBatis SQL Execution Process and Custom TypeHandler

This article explains how MyBatis binds mapper interfaces to XML files, details the complete SQL execution flow—including mapper retrieval, statement preparation, parameter handling, and result mapping—and demonstrates how to create custom TypeHandlers for both parameter setting and result set processing.

MyBatisORMSQL Execution
0 likes · 18 min read
Deep Dive into MyBatis SQL Execution Process and Custom TypeHandler
Java Architect Essentials
Java Architect Essentials
Sep 24, 2023 · Backend Development

Understanding MyBatis Dynamic SQL and XML Mapping Tags

This article provides a comprehensive guide to MyBatis dynamic SQL, explaining its features, common XML tags such as if, where, set, choose, trim, foreach, include, and sql, and demonstrates how to implement CRUD operations, conditional queries, batch processing, and association mappings with clear code examples.

Dynamic SQLMyBatisORM
0 likes · 17 min read
Understanding MyBatis Dynamic SQL and XML Mapping Tags
MaGe Linux Operations
MaGe Linux Operations
Sep 23, 2023 · Information Security

How to Prevent SQL Injection in Java Projects: From PreparedStatement to Nginx Filters

This article explains what SQL injection is, demonstrates a vulnerable example, and presents four practical defenses for Java applications—including PreparedStatement, MyBatis #{} placeholders, request‑parameter filtering, and Nginx reverse‑proxy rules—complete with code snippets and configuration details.

MyBatisPreparedStatementSQL injection
0 likes · 8 min read
How to Prevent SQL Injection in Java Projects: From PreparedStatement to Nginx Filters
Java High-Performance Architecture
Java High-Performance Architecture
Sep 23, 2023 · Backend Development

From JDBC to MyBatis: Why Java Persistence Evolved and How to Optimize It

This article walks through the step‑by‑step JDBC query process, explains why wrapping JDBC in a framework like MyBatis is beneficial, analyzes MyBatis’s core components and execution flow, and presents five practical optimizations—from connection pooling to dynamic SQL and result caching—to improve Java backend performance.

Connection PoolingDesign PatternsJDBC
0 likes · 35 min read
From JDBC to MyBatis: Why Java Persistence Evolved and How to Optimize It
Java Interview Crash Guide
Java Interview Crash Guide
Sep 22, 2023 · Backend Development

Why Lombok’s Getter/Setter Breaks MyBatis and EasyExcel – and How to Fix It

This article explains how Lombok’s unconventional getter/setter naming for fields with a lowercase‑first, uppercase‑second pattern causes MyBatis to map enum properties as null, and how the @Accessor(chain=true) annotation in EasyExcel triggers cglib reflection issues, then provides practical workarounds for both problems.

AccessorGetterSetterLombok
0 likes · 9 min read
Why Lombok’s Getter/Setter Breaks MyBatis and EasyExcel – and How to Fix It
Java Interview Crash Guide
Java Interview Crash Guide
Sep 19, 2023 · Backend Development

How MyBatis Leverages 10+ Design Patterns to Simplify Complex Scenarios

The article examines how MyBatis applies a variety of creational, structural, and behavioral design patterns—such as Factory, Singleton, Builder, Adapter, Proxy, Composite, Decorator, Template, Strategy, and Iterator—to decouple its over‑twenty‑thousand‑line codebase, improve modularity, and handle complex ORM tasks efficiently.

AdapterBuilderFactory Pattern
0 likes · 8 min read
How MyBatis Leverages 10+ Design Patterns to Simplify Complex Scenarios
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Sep 18, 2023 · Backend Development

Why MyBatis SqlSession Crashes with Multiple Threads and How Spring Fixes It

This article examines the ClassCastException that occurs when 100 threads concurrently query MyBatis using a shared SqlSession, analyzes the root cause in DefaultSqlSession and BaseExecutor, and explains how Spring Boot’s MyBatis integration employs SqlSessionTemplate, ThreadLocal binding, and transaction management to guarantee thread‑safe SqlSession usage.

MyBatisSpring BootSqlSession
0 likes · 21 min read
Why MyBatis SqlSession Crashes with Multiple Threads and How Spring Fixes It
Java Interview Crash Guide
Java Interview Crash Guide
Sep 14, 2023 · Backend Development

Master MyBatis Dynamic SQL: Tags, Conditions, and Advanced Queries

This article explains MyBatis dynamic SQL, its nine XML tags, execution principle, and how to use if, where, set, choose, trim, foreach, sql, include, and association mappings for flexible query building, batch operations, and one‑to‑many, many‑to‑one, and many‑to‑many relationships.

Dynamic SQLMyBatisXML Mapping
0 likes · 17 min read
Master MyBatis Dynamic SQL: Tags, Conditions, and Advanced Queries
Top Architect
Top Architect
Sep 12, 2023 · Backend Development

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 entity, mapper and configuration files, comparing direct batch insertion, row‑by‑row insertion, and optimized batch strategies with MyBatis and JDBC, and summarizing performance results and best‑practice tips.

JDBCMyBatisjava
0 likes · 15 min read
Efficient Insertion of 300,000 Records Using MyBatis and JDBC
Java High-Performance Architecture
Java High-Performance Architecture
Sep 12, 2023 · Backend Development

From JDBC to MyBatis: Transforming Low‑Level SQL Calls into a Powerful Persistence Framework

This article walks through the step‑by‑step evolution from raw JDBC queries to the MyBatis persistence layer, highlighting why JDBC should be wrapped, the design improvements MyBatis introduces, core components, execution flow, initialization mechanisms, and related design patterns, all illustrated with code snippets and diagrams.

Database AccessJDBCJava Persistence
0 likes · 37 min read
From JDBC to MyBatis: Transforming Low‑Level SQL Calls into a Powerful Persistence Framework
Architect's Tech Stack
Architect's Tech Stack
Sep 11, 2023 · Databases

Performance Evaluation of Large-Scale Data Insertion into MySQL Using MyBatis, JDBC, and Batch Processing

This article presents a systematic performance test of inserting massive data into MySQL, comparing three strategies—MyBatis lightweight insertion, direct JDBC (with and without transactions), and JDBC batch processing—showing how transaction handling and batch execution dramatically affect insertion speed.

Batch ProcessingJDBCMyBatis
0 likes · 15 min read
Performance Evaluation of Large-Scale Data Insertion into MySQL Using MyBatis, JDBC, and Batch Processing
Top Architect
Top Architect
Sep 7, 2023 · Backend Development

From JDBC to MyBatis: Evolution, Design, and Optimization of the Persistence Layer

This article explains how JDBC evolves into MyBatis, detailing the seven-step JDBC query process, the motivations for encapsulating JDBC, MyBatis architecture, core components, initialization mechanisms, design patterns, and code examples, while offering optimization strategies for connection handling, SQL management, and result mapping.

Design PatternsJDBCMyBatis
0 likes · 39 min read
From JDBC to MyBatis: Evolution, Design, and Optimization of the Persistence Layer
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Sep 7, 2023 · Backend Development

How to Configure Master‑Slave Data Sources in Spring Boot with JPA & MyBatis

This guide walks through setting up a Spring Boot 2.4.12 project with JDK 1.8, Oracle, and two data sources—master and slave—covering Maven dependencies, application.yml settings, custom property classes, HikariDataSource beans, JPA EntityManagerFactory, MyBatis SqlSessionFactory, mapper scanning, and testing entity creation to verify successful configuration.

HikariCPMultiple Data SourcesMyBatis
0 likes · 21 min read
How to Configure Master‑Slave Data Sources in Spring Boot with JPA & MyBatis
Top Architect
Top Architect
Aug 29, 2023 · Databases

Efficient Insertion of 300,000 Records Using MyBatis and JDBC

This article explains how to insert 300,000 rows into a MySQL table efficiently by defining a User entity, configuring MyBatis mappers, and comparing three approaches—direct bulk insert, per‑row loop insert, and batch insert with configurable batch sizes—while also providing JDBC equivalents and performance tips.

JDBCMyBatisbatch-insert
0 likes · 15 min read
Efficient Insertion of 300,000 Records Using MyBatis and JDBC
Selected Java Interview Questions
Selected Java Interview Questions
Aug 23, 2023 · Information Security

Understanding SQL Injection and Prevention Techniques in Java Projects

SQL injection is a critical web security flaw where unsanitized user input can alter database queries, and this article explains its mechanics, demonstrates vulnerable Java code, and outlines four prevention methods—PreparedStatement, MyBatis #{}, request parameter filtering, and Nginx reverse‑proxy rules—complete with code examples.

MyBatisNginxPreparedStatement
0 likes · 9 min read
Understanding SQL Injection and Prevention Techniques in Java Projects
JD Tech
JD Tech
Aug 9, 2023 · Databases

MyBatis SQL Analysis Component for Slow Query Prevention and Real‑time Alerting

This article introduces a MyBatis‑based SQL analysis component that detects and prevents slow queries before they impact production by performing real‑time EXPLAIN analysis, offering optimization suggestions, and enabling dynamic SQL replacement, while detailing its design, configuration, performance testing, and practical advantages.

BackendMyBatisSQL Analysis
0 likes · 12 min read
MyBatis SQL Analysis Component for Slow Query Prevention and Real‑time Alerting
Java Interview Crash Guide
Java Interview Crash Guide
Aug 5, 2023 · Databases

How to Efficiently Insert 300,000 Records with MyBatis and JDBC

This article demonstrates multiple approaches—including MyBatis batch inserts, per‑row inserts, and JDBC batch processing—to efficiently load 300,000 user records into a MySQL table, compares their performance, and provides practical optimization tips such as batch size, waiting intervals, and index handling.

Batch InsertJDBCMyBatis
0 likes · 14 min read
How to Efficiently Insert 300,000 Records with MyBatis and JDBC
Selected Java Interview Questions
Selected Java Interview Questions
Jul 30, 2023 · Backend Development

Understanding MyBatis Dynamic SQL and XML Mapping Tags

This article explains MyBatis dynamic SQL, its execution principle, and the nine core XML tags (if, where, set, choose, trim, foreach, sql, include, resultMap) with detailed examples of CRUD operations, conditional queries, batch processing, and association mappings for Java backend development.

Dynamic SQLMyBatisXML Mapping
0 likes · 15 min read
Understanding MyBatis Dynamic SQL and XML Mapping Tags
JD Tech
JD Tech
Jul 28, 2023 · Backend Development

Analyzing MyBatis ParameterType and ResultType Misconfiguration Causing Thread Blocking Under High Concurrency

Under high concurrency, improper configuration of MyBatis parameterType and resultType can lead to thread BLOCKED states due to repeated TypeHandler cache misses, and this article analyzes the root causes, demonstrates debugging steps, and provides recommendations to avoid such performance bottlenecks.

MyBatisTypeHandlerconcurrency
0 likes · 13 min read
Analyzing MyBatis ParameterType and ResultType Misconfiguration Causing Thread Blocking Under High Concurrency