Architect's Guide
Architect's Guide
Feb 15, 2025 · Backend Development

Using @TableLogic Annotation for Logical Deletion in MyBatis-Plus

This article explains how the @TableLogic annotation in MyBatis-Plus implements logical deletion by converting delete operations into updates, details its parameters, supported field types, global configuration, and provides complete Java and SQL code examples for practical usage.

AnnotationJavaLogical Deletion
0 likes · 8 min read
Using @TableLogic Annotation for Logical Deletion in MyBatis-Plus
Java Tech Enthusiast
Java Tech Enthusiast
Dec 6, 2024 · Backend Development

Migrating MyBatis to MyBatis-Plus: Debugging LocalDateTime Conversion Issues

When migrating an old Java project from MyBatis 3.5.0 to MyBatis‑Plus 3.1.1, a test failed with “Conversion not supported for type java.time.LocalDateTime” because MyBatis 3.5.1 stopped handling Java 8 time types and the existing mysql‑connector‑java 5.1.26 driver lacked support, which was resolved by upgrading the connector to version 5.1.37 or later, highlighting the need for thorough compatibility testing during framework upgrades.

JavaLocalDateTimeMyBatis
0 likes · 7 min read
Migrating MyBatis to MyBatis-Plus: Debugging LocalDateTime Conversion Issues
Architect's Guide
Architect's Guide
Sep 6, 2024 · Backend Development

Implementing Dynamic Data Source Switching in Spring Boot with ThreadLocal and AbstractRoutingDataSource

This article demonstrates how to implement dynamic data source switching in a Spring Boot application by leveraging ThreadLocal and AbstractRoutingDataSource, providing step‑by‑step code examples for context holders, custom routing, annotation‑driven switching, and runtime addition of new data sources.

AOPDynamicDataSourceMyBatis-Plus
0 likes · 14 min read
Implementing Dynamic Data Source Switching in Spring Boot with ThreadLocal and AbstractRoutingDataSource
Architecture Digest
Architecture Digest
Jul 11, 2024 · Backend Development

MyBatis-Plus Data Permission Interceptor: Annotation, Interceptor, and Role-Based Scope Implementation

This guide explains how to implement data permission control in MyBatis-Plus by creating a custom annotation, an interceptor that modifies SQL before execution, a handler that builds WHERE clauses based on user roles, and how to register the interceptor in the MyBatis-Plus plugin, covering both basic and advanced versions.

Data PermissionInterceptorJava
0 likes · 13 min read
MyBatis-Plus Data Permission Interceptor: Annotation, Interceptor, and Role-Based Scope Implementation
Architecture Digest
Architecture Digest
Jul 5, 2024 · Backend Development

Implementing Data Permission Interceptor in MyBatis-Plus with Custom Annotations

This tutorial explains how to globally enforce data‑permission filtering in MyBatis‑Plus by creating a custom @UserDataPermission annotation, implementing an InnerInterceptor that modifies SQL WHERE clauses based on user roles, and configuring the interceptor within the MyBatis‑Plus plugin system.

Custom AnnotationData PermissionInterceptor
0 likes · 11 min read
Implementing Data Permission Interceptor in MyBatis-Plus with Custom Annotations
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.

JavaLocalDateTimeMyBatis
0 likes · 15 min read
Migrating from MyBatis to MyBatis-Plus: Resolving LocalDateTime Conversion Errors and Lessons Learned
Architecture Digest
Architecture Digest
Dec 26, 2023 · Backend Development

Introducing mybatis-plus-generator-ui: A Web UI Code Generator for MyBatis-Plus

This article introduces mybatis-plus-generator-ui, a highly customizable web‑based code generator built on MyBatis‑Plus that supports multiple databases, offers interactive UI for generating Entity, Mapper, Service, Controller and other layers, and provides detailed usage, configuration, and extension instructions for Java backend developers.

Code GeneratorJavaMyBatis-Plus
0 likes · 14 min read
Introducing mybatis-plus-generator-ui: A Web UI Code Generator for MyBatis-Plus
Selected Java Interview Questions
Selected Java Interview Questions
Dec 26, 2023 · Backend Development

Introducing mybatis-plus-generator-ui: A Web UI Code Generator for MyBatis-Plus

This article presents mybatis-plus-generator-ui, a web‑based code generation framework that wraps MyBatis‑Plus, explains its features, shows how to integrate it via Maven and a Spring Boot entry point, demonstrates customization through templates and NameConverter, and provides guidance for building the UI frontend.

JavaMyBatis-PlusSpring Boot
0 likes · 11 min read
Introducing mybatis-plus-generator-ui: A Web UI Code Generator for MyBatis-Plus
Java Interview Crash Guide
Java Interview Crash Guide
Aug 9, 2023 · Backend Development

Boost Java Backend Productivity with MyBatis‑Plus Generator UI

This article introduces the MyBatis‑Plus Generator UI, a web‑based code generation framework that supports multiple databases, offers highly customizable templates, and integrates seamlessly with Spring Boot to accelerate backend development through automated creation of entities, mappers, services, controllers, and SQL‑based code.

JavaMyBatis-PlusSpring Boot
0 likes · 13 min read
Boost Java Backend Productivity with MyBatis‑Plus Generator UI
Java Interview Crash Guide
Java Interview Crash Guide
Jul 28, 2023 · Backend Development

When to Use MyBatis-Plus: Pros, Cons, and Best Practices

This article examines MyBatis-Plus, highlighting its convenient CRUD shortcuts and pagination features while warning about maintenance challenges, magic strings, and limited support for complex SQL, and offers practical recommendations for using LambdaQueryWrapper and organizing queries in backend Java projects.

JavaMyBatis-PlusORM
0 likes · 6 min read
When to Use MyBatis-Plus: Pros, Cons, and Best Practices
Su San Talks Tech
Su San Talks Tech
Jul 11, 2023 · Backend Development

Why MyBatis‑Plus’s saveBatch Triggers Unexpected Transaction Rollbacks and How to Fix It

The article explains why the error "Transaction rolled back because it has been marked as rollback‑only" occurs in a Java Spring service when using MyBatis‑Plus saveBatch, how hidden @Transactional annotations cause hidden nested transactions, and presents a practical workaround by replacing the batch operation with a custom mapper.

JavaMyBatis-PlusSpring
0 likes · 7 min read
Why MyBatis‑Plus’s saveBatch Triggers Unexpected Transaction Rollbacks and How to Fix It
Top Architect
Top Architect
Oct 16, 2022 · Backend Development

Using MyBatis-Plus saveOrUpdate with UpdateWrapper and QueryWrapper

This article explains how MyBatis-Plus's saveOrUpdate method works, why a primary‑key annotation is required, and how to control insert or update operations using UpdateWrapper or QueryWrapper, including code examples, common pitfalls, and practical tips for handling auto‑increment IDs.

JavaMyBatis-PlusORM
0 likes · 8 min read
Using MyBatis-Plus saveOrUpdate with UpdateWrapper and QueryWrapper
Top Architect
Top Architect
Oct 11, 2022 · Backend Development

Comprehensive Guide to Integrating MyBatis‑Plus with Spring Boot

This article provides a step‑by‑step tutorial on adding MyBatis‑Plus to a Spring Boot project, covering dependency setup, configuration, entity annotations, CRUD operations, pagination, logical deletion, enum handling, automatic field filling, multi‑datasource support, and testing with full code examples.

CRUDEnumJava
0 likes · 17 min read
Comprehensive Guide to Integrating MyBatis‑Plus with Spring Boot
Top Architect
Top Architect
Aug 5, 2022 · Backend Development

Comprehensive Guide to Using MyBatis-Plus with Spring Boot

This article provides a detailed tutorial on integrating MyBatis-Plus into a Spring Boot project, covering dependency setup, configuration, entity annotations, CRUD operations, pagination, logical deletion, enum handling, automatic field filling, and multi‑datasource support, with complete code examples.

CRUDEnumJava
0 likes · 17 min read
Comprehensive Guide to Using MyBatis-Plus with Spring Boot
Programmer DD
Programmer DD
Aug 1, 2022 · Backend Development

Mastering Multi‑Tenant Architecture with MyBatis‑Plus: A Complete Guide

This article explains multi‑tenant concepts, compares three data isolation strategies, and provides a step‑by‑step MyBatis‑Plus implementation—including pagination interceptor configuration, code examples, testing, and ways to exclude specific SQL from tenant filtering—helping developers build scalable SaaS back‑ends.

JavaMulti‑TenantMyBatis-Plus
0 likes · 7 min read
Mastering Multi‑Tenant Architecture with MyBatis‑Plus: A Complete Guide
Architect's Tech Stack
Architect's Tech Stack
Nov 9, 2021 · Backend Development

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

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

Fluent MyBatisJavaMyBatis
0 likes · 9 min read
Comparative Implementation of a Student Score Statistics Query Using Fluent MyBatis, Native MyBatis, and MyBatis‑Plus