Tagged articles

MyBatis

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

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

HikariCPJPAMultiple Data Sources
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.

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

MyBatisSlow Querybackend
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
macrozheng
macrozheng
Jul 25, 2023 · Backend Development

Dynamic SQL with MyBatis Interceptors in Spring Boot

This tutorial explains how to use MyBatis interceptor mechanisms to dynamically modify SQL statements at runtime in a Spring Boot application, covering interceptor types, implementation steps, configuration, core code, testing, and common use cases such as SQL monitoring, pagination, and data permission filtering.

Dynamic SQLInterceptorMyBatis
0 likes · 11 min read
Dynamic SQL with MyBatis Interceptors in Spring Boot
Selected Java Interview Questions
Selected Java Interview Questions
Jul 24, 2023 · Backend Development

Analyzing and Reproducing OutOfMemoryError Caused by MyBatis and DruidDataSource in a Java Backend Service

This article investigates the root causes of frequent OutOfMemoryError incidents in a distributed Java backend, explains how MyBatis and DruidDataSource can exhaust heap and metaspace, demonstrates a reproducible test with JVM options and multithreading, and offers practical mitigation strategies.

DockerMemoryLeakMyBatis
0 likes · 7 min read
Analyzing and Reproducing OutOfMemoryError Caused by MyBatis and DruidDataSource in a Java Backend Service
JavaEdge
JavaEdge
Jul 14, 2023 · Databases

How to Efficiently Insert 1,000 Records with MyBatis: Loop vs Batch

When interviewers ask how to insert a thousand rows with MyBatis, the answer isn’t just a simple Java for‑loop; you need to consider batch processing, disable autocommit, and understand MyBatis’s limits to choose the most reliable and performant approach.

Batch InsertDatabaseMyBatis
0 likes · 3 min read
How to Efficiently Insert 1,000 Records with MyBatis: Loop vs Batch
Su San Talks Tech
Su San Talks Tech
Jul 14, 2023 · Backend Development

How to Use MyBatis Interceptor for Dynamic SQL in Spring Boot 3

This article demonstrates how to leverage MyBatis interceptor mechanism in a Spring Boot 3 application to dynamically modify SQL statements, showing step‑by‑step implementation, configuration, core code, testing, and common use cases such as SQL monitoring, pagination, and data permission filtering.

Dynamic SQLInterceptorMyBatis
0 likes · 11 min read
How to Use MyBatis Interceptor for Dynamic SQL in Spring Boot 3
Laravel Tech Community
Laravel Tech Community
Jul 13, 2023 · Databases

MyBatis-Flex: An Elegant MyBatis Enhancement Framework

MyBatis-Flex is a lightweight, high‑performance extension to MyBatis that adds full CRUD, pagination, multi‑table and batch operations while preserving all MyBatis features, supports multi‑datasource relations, recursive queries, and provides extensive annotations such as @Relation for flexible data mapping, with recent v1.4.9 updates and bug fixes.

DatabaseMyBatisORM
0 likes · 5 min read
MyBatis-Flex: An Elegant MyBatis Enhancement Framework
Programmer DD
Programmer DD
Jul 4, 2023 · Backend Development

Unlock MyBatis Performance: Mastering First and Second Level Caches

This article explains how MyBatis first‑level (session) and second‑level (cross‑session) caches work, the conditions required for them to function, common pitfalls when integrating with SpringBoot, and step‑by‑step instructions to enable and safely use second‑level caching in real projects.

First-Level CacheMyBatisSecond-Level Cache
0 likes · 11 min read
Unlock MyBatis Performance: Mastering First and Second Level Caches
ITPUB
ITPUB
Jun 23, 2023 · Databases

Seamless Sharding Migration: Dual‑Write, Mapping Keys, and Diff Validation

This article explains how to smoothly migrate a legacy single‑database system to a sharded architecture by using dual‑write, mapping‑key routing, custom transaction handling, and offline/real‑time diff checks, while detailing the underlying MyBatis integration and component‑based design.

MyBatisShardingdatabase partitioning
0 likes · 36 min read
Seamless Sharding Migration: Dual‑Write, Mapping Keys, and Diff Validation
Selected Java Interview Questions
Selected Java Interview Questions
Jun 14, 2023 · Backend Development

Understanding MyBatis First‑Level and Second‑Level Cache and Their Integration with Spring Boot

The article explains MyBatis first‑level and second‑level caching mechanisms, their activation conditions, integration pitfalls with Spring Boot, and how to enable and use them safely, including configuration steps, code examples, and warnings about hidden risks of second‑level cache.

First-Level CacheMyBatisSecond-Level Cache
0 likes · 12 min read
Understanding MyBatis First‑Level and Second‑Level Cache and Their Integration with Spring Boot
Java Architect Essentials
Java Architect Essentials
Jun 11, 2023 · Backend Development

Using MyBatis Dynamic SQL: if, choose, trim, foreach, and bind Tags

This article provides a comprehensive guide to MyBatis dynamic SQL, demonstrating how to use if, choose, trim, foreach, and bind tags for conditional queries, updates, inserts, batch operations, and database‑agnostic expressions, complete with Maven project setup, SQL scripts, and test cases.

Dynamic SQLMyBatisORM
0 likes · 15 min read
Using MyBatis Dynamic SQL: if, choose, trim, foreach, and bind Tags
Sohu Tech Products
Sohu Tech Products
Jun 7, 2023 · Backend Development

MyBatis Streaming Query (Cursor) Tutorial and Best Practices

This article introduces MyBatis streaming query using the Cursor interface, explains its core methods, demonstrates implementation with code examples, discusses suitable application scenarios, and outlines important considerations for efficient and safe large‑scale data processing in Java backend development.

CursorMyBatisStreaming Query
0 likes · 11 min read
MyBatis Streaming Query (Cursor) Tutorial and Best Practices
Top Architect
Top Architect
Jun 5, 2023 · Backend Development

MyBatis Streaming Query: Concepts, Cursor API, Implementation, and Use Cases

This article introduces MyBatis streaming queries, explains the Cursor interface and its methods, provides step‑by‑step code examples for configuration and implementation, discusses practical application scenarios such as large‑scale data processing, and highlights important considerations for efficient and safe usage.

CursorMyBatisStreaming Query
0 likes · 11 min read
MyBatis Streaming Query: Concepts, Cursor API, Implementation, and Use Cases
Qunar Tech Salon
Qunar Tech Salon
May 30, 2023 · Databases

Smooth Migration to Sharding: Design, Implementation, and Componentization of Qunar's Database Sharding Solution

This article describes the challenges of migrating a long‑running monolithic database to a sharded architecture, presents a two‑stage smooth migration strategy using double‑write, diff verification, and mapping‑key techniques, and details the componentized design, core implementation, and configuration of a reusable sharding framework built on MyBatis and Spring.

Data synchronizationDatabase MigrationMyBatis
0 likes · 34 min read
Smooth Migration to Sharding: Design, Implementation, and Componentization of Qunar's Database Sharding Solution
Java Interview Crash Guide
Java Interview Crash Guide
May 24, 2023 · Backend Development

Why Lombok’s Getter/Setter Breaks MyBatis and EasyExcel: Hidden Pitfalls Explained

This article explores how Lombok’s auto‑generated getter/setter methods can conflict with MyBatis property naming conventions and cause null values, examines the underlying reflection logic in MyBatis, and also reveals why the @Accessor(chain=true) annotation disrupts EasyExcel’s CGLIB‑based mapping, offering practical solutions.

CGLIBEasyExcelGetterSetter
0 likes · 7 min read
Why Lombok’s Getter/Setter Breaks MyBatis and EasyExcel: Hidden Pitfalls Explained
Selected Java Interview Questions
Selected Java Interview Questions
May 4, 2023 · Backend Development

Understanding Spring Boot Starters with MyBatis: mybatis‑spring vs mybatis‑spring‑boot‑starter

This article explains the concept and purpose of Spring Boot starters, compares mybatis‑spring with mybatis‑spring‑boot‑starter through code examples, and details how the starter simplifies MyBatis integration by handling dependencies, configuration files, auto‑configuration, and mapper scanning for Java backend projects.

MyBatisSpring Bootauto-configuration
0 likes · 7 min read
Understanding Spring Boot Starters with MyBatis: mybatis‑spring vs mybatis‑spring‑boot‑starter
Top Architect
Top Architect
Mar 31, 2023 · Backend Development

Why MyBatis PageHelper Pagination Is Slow and How to Optimize It

The article explains that MyBatis PageHelper performs an extra full‑table count query causing pagination to take over eight seconds on a 10,000‑row table, analyzes the root cause, and provides a concrete solution by customizing the count SQL with a _COUNT method and optimized mapper definitions.

MyBatisSQL Optimizationbackend development
0 likes · 6 min read
Why MyBatis PageHelper Pagination Is Slow and How to Optimize It
Top Architect
Top Architect
Mar 27, 2023 · Backend Development

Three MyBatis Batch Insert Methods and Their Performance Comparison

The article explains three ways to perform batch inserts with MyBatis—ordinary single-row inserts, foreach‑based bulk inserts, and ExecutorType.BATCH—analyzes their SQL logs, performance bottlenecks, MySQL limits, and provides practical recommendations for large‑scale data insertion.

Batch InsertExecutorTypeMyBatis
0 likes · 13 min read
Three MyBatis Batch Insert Methods and Their Performance Comparison
macrozheng
macrozheng
Mar 20, 2023 · Backend Development

Boost MyBatis Batch Insert Speed: Avoid foreach Pitfalls and Use ExecutorType.BATCH

This article explains why MyBatis foreach‑based batch inserts become extremely slow with thousands of rows, demonstrates how the generated giant SQL statement hurts performance, and shows how switching to ExecutorType.BATCH or limiting rows per INSERT dramatically reduces insertion time.

Batch InsertExecutorType.BATCHMyBatis
0 likes · 9 min read
Boost MyBatis Batch Insert Speed: Avoid foreach Pitfalls and Use ExecutorType.BATCH
Architect
Architect
Mar 17, 2023 · Backend Development

Million‑Scale Data Export with JPA and MyBatis in Spring Boot

This article explains how to export tens of millions of rows from MySQL using Spring Boot by streaming data with JPA or MyBatis, avoiding OutOfMemoryError, switching to CSV format, and provides complete code examples, performance comparison, and tips for generating test data.

CSVDataExportJPA
0 likes · 12 min read
Million‑Scale Data Export with JPA and MyBatis in Spring Boot
Code Ape Tech Column
Code Ape Tech Column
Mar 17, 2023 · Backend Development

Using MybatisX Plugin with Spring Boot for Rapid MyBatis Development

This guide demonstrates how to integrate the MybatisX IDEA plugin with a Spring Boot project, covering database setup, Maven dependency configuration, plugin installation, connection testing, code generation, and sample controller implementation to accelerate MyBatis and MyBatis-Plus development.

IDEA PluginMyBatisSpring Boot
0 likes · 5 min read
Using MybatisX Plugin with Spring Boot for Rapid MyBatis Development
Programmer DD
Programmer DD
Mar 15, 2023 · Information Security

How to Prevent XSS and SQL Injection in SpringBoot: Filters and Code Examples

This article explains XSS attack types, SQL injection risks, and provides practical SpringBoot filter implementations with MyBatis prepared statements and custom deserializers to sanitize request parameters, JSON bodies, and prevent malicious script and database attacks.

MyBatisRequest SanitizationSQL injection
0 likes · 13 min read
How to Prevent XSS and SQL Injection in SpringBoot: Filters and Code Examples
Java Architect Essentials
Java Architect Essentials
Mar 3, 2023 · Backend Development

Master FastMyBatis: Quick Spring Boot Integration and CRUD Guide

This article introduces FastMyBatis—a lightweight, zero‑configuration MyBatis extension for Spring Boot—covering its core principles, Maven setup, sample CRUD controller, service and mapper implementations, a comprehensive list of mapper methods, Query object usage examples, and links to the open‑source repository.

CRUDFastMyBatisMyBatis
0 likes · 10 min read
Master FastMyBatis: Quick Spring Boot Integration and CRUD Guide
Programmer DD
Programmer DD
Mar 1, 2023 · Backend Development

Unlock MyBatis: 10 Essential Design Patterns Powering Its Architecture

This article examines how MyBatis leverages around ten core design patterns—including Factory, Singleton, Builder, Adapter, Proxy, Composite, Decorator, Template, Strategy, and Iterator—to decouple complex scenarios, improve modularity, and streamline ORM operations within its extensive codebase.

Design PatternsMyBatisORM
0 likes · 10 min read
Unlock MyBatis: 10 Essential Design Patterns Powering Its Architecture
Java Architect Essentials
Java Architect Essentials
Jan 10, 2023 · Backend Development

MyBatis and MyBatis-Plus Batch Insert Techniques with Performance Comparison

This article presents five common batch‑insert approaches for MyBatis and MyBatis‑Plus—including a for‑loop, manual batch commit, collection‑based batch, saveBatch, and InsertBatchSomeColumn—provides complete code examples, configuration steps, and measured execution times to help Java backend developers choose the most efficient method.

Batch InsertMyBatisSpring Boot
0 likes · 11 min read
MyBatis and MyBatis-Plus Batch Insert Techniques with Performance Comparison
Top Architect
Top Architect
Jan 9, 2023 · Backend Development

Using MyBatis Dynamic SQL Tags: foreach, if, choose, trim, selectKey and More

This article provides a comprehensive guide to MyBatis dynamic SQL tags—including foreach, if, choose, trim, selectKey, and related constructs—explaining their attributes, usage scenarios, and offering detailed Java and XML code examples for building flexible and error‑free database queries.

Dynamic SQLMyBatisSQL
0 likes · 16 min read
Using MyBatis Dynamic SQL Tags: foreach, if, choose, trim, selectKey and More
Top Architect
Top Architect
Dec 12, 2022 · Backend Development

MyBatis Introduction, Setup Steps, and Dynamic Proxy Implementation

This article provides a comprehensive guide to MyBatis, covering its basic concepts, Maven dependency configuration, XML setup, entity and mapper definitions, execution flow using dynamic proxies, and a custom lightweight framework implementation with full Java code examples.

Dynamic ProxyMyBatisORM
0 likes · 12 min read
MyBatis Introduction, Setup Steps, and Dynamic Proxy Implementation
Architect's Tech Stack
Architect's Tech Stack
Dec 8, 2022 · Backend Development

Implementing Streaming Reads with MyBatis for Large-Scale Java Report Export

This article explains how to overcome export failures caused by large data volumes in a legacy Java system by switching from default full-result JDBC reads to a forward‑only streaming approach using MyBatis, detailing environment setup, configuration changes, and complete code examples for controller, service, DAO, and mapper layers.

JDBCMyBatisSQL
0 likes · 5 min read
Implementing Streaming Reads with MyBatis for Large-Scale Java Report Export
Top Architect
Top Architect
Dec 8, 2022 · Backend Development

Common MyBatis Batch Insert Techniques and Performance Comparison

This article presents a detailed overview of five commonly used MyBatis and MyBatis-Plus batch insertion methods, including code examples, configuration steps, and performance measurements for inserting ten thousand records, helping developers choose the most efficient approach for large‑scale data insertion in Java backend projects.

Batch InsertMyBatisSpring Boot
0 likes · 11 min read
Common MyBatis Batch Insert Techniques and Performance Comparison
Top Architect
Top Architect
Dec 5, 2022 · Backend Development

Integrating Spring Batch with Spring Boot: Full Tutorial and Example

This article provides a comprehensive step‑by‑step guide on integrating Spring Batch with Spring Boot, covering configuration, entity and mapper definitions, job, step, reader, processor, writer implementations, database setup, error handling, and execution via a REST controller, complete with code examples.

Batch ProcessingMyBatisMySQL
0 likes · 22 min read
Integrating Spring Batch with Spring Boot: Full Tutorial and Example
Architect's Tech Stack
Architect's Tech Stack
Dec 4, 2022 · Backend Development

Unified Exception Handling in Spring Boot Using @ControllerAdvice, Assert, and Enum‑Based Business Errors

This article explains how to replace repetitive try‑catch blocks in Java Spring applications with a unified exception handling strategy that leverages @ControllerAdvice, custom Assert utilities, enum‑based error codes, and standardized response objects to improve code readability, maintainability, and internationalisation.

EnumExceptionHandlingMyBatis
0 likes · 21 min read
Unified Exception Handling in Spring Boot Using @ControllerAdvice, Assert, and Enum‑Based Business Errors
Selected Java Interview Questions
Selected Java Interview Questions
Dec 1, 2022 · Backend Development

Five Common Batch Insert Techniques for MyBatis and MyBatis‑Plus

This article presents and compares five practical batch‑insert methods for MyBatis and MyBatis‑Plus, covering preparation steps, code implementations, configuration details, and performance results, helping developers choose the most efficient approach for inserting large volumes of data in Java backend projects.

Batch InsertMyBatisSpring Boot
0 likes · 9 min read
Five Common Batch Insert Techniques for MyBatis and MyBatis‑Plus
Java Captain
Java Captain
Nov 23, 2022 · Backend Development

Free Comprehensive Collection of Big‑Tech Interview Questions and Answers (Java, Spring, Redis, MyBatis, etc.)

This post shares a free, extensive compilation of interview questions and detailed explanations covering Java fundamentals, multithreading, Spring framework, Redis, MyBatis and other backend technologies, encouraging systematic preparation and offering a QR‑code method to obtain the full document.

Interview QuestionsMyBatisRedis
0 likes · 8 min read
Free Comprehensive Collection of Big‑Tech Interview Questions and Answers (Java, Spring, Redis, MyBatis, etc.)
Architecture Digest
Architecture Digest
Nov 16, 2022 · Backend Development

Comprehensive Collection of Interview Questions and Answers for Major Tech Companies (Java, Spring, Redis, MyBatis, etc.)

This article compiles over a thousand interview questions and detailed explanations covering core Java fundamentals, multithreading, Spring framework, Redis, MyBatis, and related backend technologies, offering a free downloadable resource to help candidates prepare effectively for major tech company interviews.

Interview QuestionsMyBatisRedis
0 likes · 8 min read
Comprehensive Collection of Interview Questions and Answers for Major Tech Companies (Java, Spring, Redis, MyBatis, etc.)
dbaplus Community
dbaplus Community
Nov 2, 2022 · Backend Development

How We Cut DB QPS by 80% with a Custom DAO Cache Layer

This article explains how a high‑traffic e‑commerce system reduced database QPS by over 80% and response latency by more than 40% through a systematic DAO‑level caching solution, detailing the background, design trade‑offs, implementation steps, global cache architecture, deployment practices, and observed limitations.

MyBatisjavaperformance
0 likes · 28 min read
How We Cut DB QPS by 80% with a Custom DAO Cache Layer
Top Architect
Top Architect
Nov 1, 2022 · Backend Development

Deep Dive into MyBatis SQL Execution Process and Custom TypeHandler

This article thoroughly explains how MyBatis binds mapper interfaces to XML files, details the step‑by‑step SQL execution flow—including mapper retrieval, statement preparation, parameter handling, and result mapping—and demonstrates how to create custom typeHandlers for both input parameters and result sets.

MyBatisPersistenceSQL
0 likes · 16 min read
Deep Dive into MyBatis SQL Execution Process and Custom TypeHandler
Java High-Performance Architecture
Java High-Performance Architecture
Nov 1, 2022 · Backend Development

How MyBatis Binds Mappers, Executes SQL, and Uses Custom TypeHandlers

This article dissects MyBatis’s internal workflow, explaining how mapper interfaces are linked to XML files, detailing the step‑by‑step SQL execution process, and demonstrating how to create and apply custom typeHandlers for parameter setting and result mapping, all based on MyBatis 3.5.5 source code.

Custom TypeHandlerMyBatisSQL execution
0 likes · 20 min read
How MyBatis Binds Mappers, Executes SQL, and Uses Custom TypeHandlers
Cognitive Technology Team
Cognitive Technology Team
Oct 31, 2022 · Backend Development

Analysis of MyBatis First-Level and Second-Level Caches and Their Configuration

This article explains MyBatis's first-level (SqlSession-scoped) and second-level (Mapper-scoped) caching mechanisms, their default behaviors, key generation, configuration options, and the impact of Spring integration, and provides recommendations for disabling caches in distributed environments to avoid data inconsistency.

MyBatisSQLSpring
0 likes · 9 min read
Analysis of MyBatis First-Level and Second-Level Caches and Their Configuration
ITPUB
ITPUB
Oct 31, 2022 · Backend Development

Master MyBatis Caching: First- and Second-Level Cache Explained

This article explains MyBatis caching fundamentals, detailing first- and second-level cache concepts, configuration, cache invalidation scenarios, and custom cache integration with EHCache, supplemented by practical code snippets and quiz questions to illustrate cache behavior across SqlSessions.

EhcacheMyBatisSQL
0 likes · 12 min read
Master MyBatis Caching: First- and Second-Level Cache Explained
Java High-Performance Architecture
Java High-Performance Architecture
Oct 30, 2022 · Backend Development

Boost Your Java Backend: Master MyBatisCodeHelper Pro for Rapid Code Generation

This guide walks you through installing the MyBatisCodeHelper‑Pro IntelliJ plugin, configuring it to generate Java entity, DAO, mapper and service code, customizing type mappings, creating SQL scripts, and using shortcuts to produce find, update, delete, and pagination methods efficiently for backend development.

DAOIntelliJMyBatis
0 likes · 7 min read
Boost Your Java Backend: Master MyBatisCodeHelper Pro for Rapid Code Generation
macrozheng
macrozheng
Oct 30, 2022 · Backend Development

Which Java Technologies Are Obsolete? A 20‑Year Veteran’s Guide

Drawing on two decades of Java experience, this article evaluates outdated Java technologies—JSP, Struts, Hibernate, and others—based on real‑world development relevance, interview usefulness, and depth of understanding, and offers clear recommendations on what to skip and what to master.

HibernateJSPMyBatis
0 likes · 8 min read
Which Java Technologies Are Obsolete? A 20‑Year Veteran’s Guide
macrozheng
macrozheng
Oct 25, 2022 · Backend Development

Master MyBatis in Spring Boot: Essential Tips, Dynamic SQL, and Advanced Queries

This guide walks you through integrating MyBatis with Spring Boot, covering basic CRUD operations, dynamic SQL constructs like if, choose, where, set, foreach, as well as advanced mapping techniques, pagination plugins, and practical code examples to help you master MyBatis in real-world projects.

MyBatisORMSQL
0 likes · 17 min read
Master MyBatis in Spring Boot: Essential Tips, Dynamic SQL, and Advanced Queries
Top Architect
Top Architect
Oct 20, 2022 · Databases

Performance Evaluation of Inserting Billion‑Scale Data into MySQL Using Java: MyBatis vs JDBC vs Batch Processing

This article presents a detailed performance test of inserting massive data into MySQL with Java, comparing three strategies—MyBatis lightweight insertion without transactions, direct JDBC handling with and without transactions, and JDBC batch processing—showing timing results for millions of rows and offering practical recommendations for high‑throughput data loading.

Batch ProcessingJDBCMyBatis
0 likes · 14 min read
Performance Evaluation of Inserting Billion‑Scale Data into MySQL Using Java: MyBatis vs JDBC vs Batch Processing
Top Architect
Top Architect
Oct 14, 2022 · Backend Development

Spring Annotation Development and MyBatis Integration Guide

This article provides a comprehensive tutorial on using Spring annotations for pure annotation‑based development, defining beans, managing bean scopes, performing various injection techniques, reading configuration properties, and integrating Spring with MyBatis, complete with code examples and best‑practice tips.

MyBatisSpringannotations
0 likes · 10 min read
Spring Annotation Development and MyBatis Integration Guide
Java Architect Essentials
Java Architect Essentials
Oct 10, 2022 · Backend Development

Implementing MyBatis TypeHandler for Field Encryption in Java

This article demonstrates how to securely store and retrieve sensitive fields such as phone numbers in a MySQL database by creating a custom Java Encrypt class, a MyBatis TypeHandler for automatic encryption/decryption, configuring the mapper XML, and verifying the solution with test results.

DatabaseMyBatisTypeHandler
0 likes · 8 min read
Implementing MyBatis TypeHandler for Field Encryption in Java
JD Cloud Developers
JD Cloud Developers
Oct 10, 2022 · Backend Development

How MyBatis Executes Queries and Fixes a Pre‑3.4.5 Bug

This article walks through MyBatis's complete query lifecycle—from configuration parsing, SqlSessionFactory creation, and mapper loading to the actual SELECT execution—while reproducing a pre‑3.4.5 bug caused by foreach variable leakage and presenting the official fix and upgrade recommendations.

DebuggingMyBatisORM
0 likes · 20 min read
How MyBatis Executes Queries and Fixes a Pre‑3.4.5 Bug
Java Architect Essentials
Java Architect Essentials
Sep 30, 2022 · Backend Development

Comprehensive Guide to Spring Annotation Development and MyBatis Integration

This article provides a step‑by‑step tutorial on using Spring annotations for bean definition, component scanning, scope management, autowiring, qualifier usage, simple value injection, property file loading, and finally demonstrates how to integrate Spring with MyBatis for streamlined data access in Java backend projects.

ConfigurationMyBatisSpring
0 likes · 9 min read
Comprehensive Guide to Spring Annotation Development and MyBatis Integration
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Sep 20, 2022 · Backend Development

Understanding MyBatis First-Level and Second-Level Caches: Principles, Implementation, and Differences

This article explains the principles, implementation steps, and configuration of MyBatis first‑level (SqlSession) and second‑level (mapper) caches, compares their scopes and behaviors, and provides practical guidance on when and how to enable each cache to improve database query performance.

First-Level CacheMyBatisSecond-Level Cache
0 likes · 7 min read
Understanding MyBatis First-Level and Second-Level Caches: Principles, Implementation, and Differences
Top Architect
Top Architect
Sep 13, 2022 · Information Security

Implementing Data Masking in MySQL and Java with MyBatis-Mate Sensitive Jackson

This article demonstrates how to mask sensitive data such as phone numbers and ID cards using SQL functions, introduces Java masking libraries, and provides a complete MyBatis-Mate Sensitive Jackson example with configuration, custom strategies, entity annotations, controller endpoints, and sample responses.

MyBatisSQLdata masking
0 likes · 11 min read
Implementing Data Masking in MySQL and Java with MyBatis-Mate Sensitive Jackson