Tagged articles

MyBatis

762 articles · Page 3 of 8
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.

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

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

DatabaseDynamic SQLMyBatis
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 SQLMyBatisXML
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.

DatabaseDynamic SQLMyBatis
0 likes · 16 min read
MyBatis Dynamic SQL and Tag Usage Guide
Top Architect
Top Architect
Jun 5, 2024 · Backend Development

Advanced MyBatis Dynamic SQL Techniques and Best Practices

This article provides a comprehensive guide to MyBatis dynamic SQL, covering foreach loops, conditional if, choose, selectKey, trim, and sql fragments, with detailed explanations and full XML and Java code examples to help developers write efficient, error‑free mappings.

Dynamic SQLMyBatisSQL Mapping
0 likes · 20 min read
Advanced MyBatis Dynamic SQL Techniques and Best Practices
Selected Java Interview Questions
Selected Java Interview Questions
Jun 5, 2024 · Backend Development

Analysis of MyBatis OGNL Concurrency Bug and Workarounds

This article investigates a concurrency bug in MyBatis caused by OGNL expression evaluation using reflection, explains the root cause through stack trace and source code analysis, and proposes solutions such as upgrading MyBatis or avoiding private inner‑class methods like Arrays.asList.

MyBatisOGNLbug
0 likes · 13 min read
Analysis of MyBatis OGNL Concurrency Bug and Workarounds
Java Architect Essentials
Java Architect Essentials
May 27, 2024 · Backend Development

Why MyBatis‑Plus Fails with LocalDateTime and How to Fix It

An old Java project using MySQL, MyBatis, and an outdated mysql‑connector‑java driver encounters a “Conversion not supported for type java.time.LocalDateTime” error after swapping MyBatis for MyBatis‑Plus; the article walks through reproducing the issue, analyzing MyBatis version changes, upgrading the JDBC driver, and fixing subsequent bugs.

DebuggingLocalDateTimeMyBatis
0 likes · 9 min read
Why MyBatis‑Plus Fails with LocalDateTime and How to Fix It
Architect
Architect
May 20, 2024 · Backend Development

Unlocking MyBatis: 10+ Design Patterns Powering Its Architecture

This article dissects MyBatis's source code, revealing how more than ten classic design patterns—such as Factory, Singleton, Builder, Adapter, Proxy, Composite, Decorator, Template, Strategy, and Iterator—are applied to decouple complex scenarios, improve extensibility, and streamline ORM operations.

BuilderDesign PatternsFactory Pattern
0 likes · 11 min read
Unlocking MyBatis: 10+ Design Patterns Powering Its Architecture
Architect's Journey
Architect's Journey
May 8, 2024 · Backend Development

Mastering MyBatis JSON Field Mapping with Custom TypeHandlers

This article walks through three ways to map JSON columns to Java objects in MyBatis, explains why simple String or JSONObject approaches are fragile, and provides a complete custom TypeHandler implementation, registration, and usage example for complex entity fields.

D3BootMyBatisORM
0 likes · 11 min read
Mastering MyBatis JSON Field Mapping with Custom TypeHandlers
Architect
Architect
May 7, 2024 · Backend Development

MyBatis Source Code Execution Flow Explained

The article walks through MyBatis’s internal execution pipeline, from loading the configuration file and building a SqlSessionFactory, to creating a SqlSession, generating a MapperProxy for the mapper interface, and finally invoking the mapped method which triggers JDBC operations, while detailing caching and executor mechanisms.

DynamicProxyExecutorMyBatis
0 likes · 31 min read
MyBatis Source Code Execution Flow Explained
Java Tech Enthusiast
Java Tech Enthusiast
May 6, 2024 · Backend Development

Design Patterns in MyBatis Source Code

MyBatis, a widely used Java ORM, embeds around ten classic design patterns—including Factory, Singleton, Builder, Adapter, Proxy, Composite, Decorator, Template Method, Strategy, and Iterator—to modularize object creation, structure, and behavior, thereby simplifying complex data access and caching mechanisms within its architecture.

Design PatternsMyBatisORM
0 likes · 8 min read
Design Patterns in MyBatis Source Code
Su San Talks Tech
Su San Talks Tech
May 5, 2024 · Backend Development

Fixing MyBatis‑Plus Migration Errors: Why LocalDateTime Conversion Fails and How to Resolve It

This article walks through replacing MyBatis with MyBatis‑Plus in a legacy Java project, explains the “Conversion not supported for type java.time.LocalDateTime” error caused by MyBatis 3.5.1 and an outdated mysql‑connector‑java driver, and shows how upgrading the driver resolves the issue while offering debugging tips.

DebuggingMyBatisMySQL
0 likes · 16 min read
Fixing MyBatis‑Plus Migration Errors: Why LocalDateTime Conversion Fails and How to Resolve It
Code Ape Tech Column
Code Ape Tech Column
May 4, 2024 · Backend Development

Understanding PageHelper Pagination Issues and ThreadLocal Management in MyBatis

This article analyzes common anomalies caused by the PageHelper pagination plugin in a Java backend project—such as duplicate user registration, limited query results, and password‑reset errors—traces them to ThreadLocal misuse, explains the internal workflow of startPage, getLocalPage, and clearPage, and offers practical recommendations to avoid these pitfalls.

MyBatisSQLThreadLocal
0 likes · 11 min read
Understanding PageHelper Pagination Issues and ThreadLocal Management in MyBatis
Architect's Tech Stack
Architect's Tech Stack
Apr 29, 2024 · Databases

Performance Evaluation of Inserting Billion-Scale Data into MySQL Using MyBatis, JDBC, and Batch Processing

This article presents a comprehensive performance test of inserting massive amounts of randomly generated person records into MySQL, comparing three strategies—MyBatis lightweight insertion, direct JDBC handling, and JDBC batch processing—both with and without transactions, and concludes that combining batch processing with transactions yields the fastest insertion speed for large‑scale data loads.

Batch ProcessingJDBCLarge Data Insertion
0 likes · 13 min read
Performance Evaluation of Inserting Billion-Scale Data into MySQL Using MyBatis, JDBC, and Batch Processing
macrozheng
macrozheng
Apr 26, 2024 · Databases

Boost MySQL Insert Performance with Batch Techniques and MyISAM

This article explains how to dramatically improve MySQL insert speed by adjusting database settings, choosing the MyISAM engine, and applying batch insertion methods such as concatenated SQL, transaction‑wrapped inserts, and MyBatis‑Flex saveBatch, complete with test code and performance results.

Batch InsertInsert PerformanceMyBatis
0 likes · 10 min read
Boost MySQL Insert Performance with Batch Techniques and MyISAM
Architecture Digest
Architecture Digest
Apr 22, 2024 · Backend Development

Migrating from MyBatis to MyBatis-Plus: Resolving LocalDateTime Conversion Errors and Lessons Learned

This article walks through replacing MyBatis with MyBatis‑Plus in a legacy Java project, demonstrates the LocalDateTime conversion error caused by MySQL‑connector‑java version incompatibility, shows how upgrading the driver resolves the issue, and shares a cautionary tale about unintended bugs after component upgrades.

DatabaseLocalDateTimeMyBatis
0 likes · 15 min read
Migrating from MyBatis to MyBatis-Plus: Resolving LocalDateTime Conversion Errors and Lessons Learned
Lobster Programming
Lobster Programming
Apr 22, 2024 · Backend Development

Why SqlSession Is Thread‑Unsafe and How SqlSessionTemplate Ensures Safety

This article explains why MyBatis SqlSession is not thread‑safe, outlines strategies such as using per‑thread instances or ThreadLocal to secure it, and details how Spring's SqlSessionTemplate leverages dynamic proxies and ThreadLocal storage to provide thread‑safe database operations.

MyBatisSqlSessionThread Safety
0 likes · 3 min read
Why SqlSession Is Thread‑Unsafe and How SqlSessionTemplate Ensures Safety
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 InsertMyBatisMySQL
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.

MyBatisSQLbackend development
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.

AOPCustom 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 InsertDatabaseJDBC
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.

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

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

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

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

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

MyBatisSpringBootcache
0 likes · 11 min read
Unlock MyBatis Performance: Master First‑Level and Second‑Level Caches in SpringBoot
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.

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

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

Custom AnnotationData IsolationDatabase
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.

MyBatisMySQLSaaS
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 PermissionMyBatisMySQL
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.

MyBatisObsolete Technologiesbackend
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.

DatabaseFuzzy SearchMyBatis
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.

MyBatisORMSQL Mapping
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.

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

Multi-DataSourceMyBatisSpring Boot
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.

HikariCPMyBatisMySQL
0 likes · 10 min read
Mastering Read‑Write Separation in Spring Boot: A Complete Guide
Java High-Performance Architecture
Java High-Performance Architecture
Nov 17, 2023 · Backend Development

How to Ensure Transaction Rollback in Multithreaded Spring Applications

This article demonstrates why @Transactional fails in multithreaded Spring services, presents a thread‑pool based solution using manual SqlSession control to achieve full rollback across child threads, and provides complete code examples and test results illustrating both failure and successful transaction handling.

DatabaseMyBatisSpring
0 likes · 10 min read
How to Ensure Transaction Rollback in Multithreaded Spring Applications
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.

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

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

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

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

DatabaseFluent-MyBatisMyBatis
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 TypeHandlerJPAMyBatis
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.

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

BuilderFactory PatternMyBatis
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