Integrating MybatisX Plugin with Spring Boot for Rapid MyBatis Development
This tutorial demonstrates how to set up a simple MySQL database, create a Spring Boot project, add Mybatis-Plus dependencies, install the MybatisX plugin, configure the connection, generate entity, mapper, service, and controller code, and verify the integration with a sample REST endpoint.
MybatisX is an IntelliJ IDEA plugin that streamlines MyBatis and MyBatis-Plus development by automating repetitive tasks and accelerating code generation.
Benefits of using MybatisX:
Significant reduction in persistence layer development time.
Powerful features that support various business needs.
Simplified configuration, eliminating complex XML files.
Step-by-step usage:
Create a simple MySQL database.
Initialize a basic Spring Boot project.
Add the MyBatis-Plus starter dependency to <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> in pom.xml .
Install MybatisX via File → Settings → Plugins and search for "MybatisX".
Press Shift twice, type "database" to open the database view, and create a new MySQL connection (enter host, username, password, and database name).
Fix the timezone warning by setting serverTimezone=GMT in the Advanced connection settings.
After a successful connection, right‑click a table and select MybatisX‑Generator to open the generation wizard.
Configure generation options (e.g., remove prefixes/suffixes, set output directory) and enable MyBatis‑Plus 3 and Lombok support.
Finish the wizard; MybatisX automatically generates the entity class, mapper XML, service interface, and implementation.
Example application.yaml configuration:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/user?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT
username: root
password: passwordSample controller using MyBatis‑Plus query wrapper:
@RestController
public class TestController {
@Autowired
UserService userService;
@GetMapping("/test")
public User test() {
QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
userQueryWrapper.eq("user_id", 1);
User user = userService.getOne(userQueryWrapper);
return user;
}
}Running the application and accessing /test returns the expected user data, confirming that MybatisX integration with Spring Boot is complete.
Java Architect Essentials
Committed to sharing quality articles and tutorials to help Java programmers progress from junior to mid-level to senior architect. We curate high-quality learning resources, interview questions, videos, and projects from across the internet to help you systematically improve your Java architecture skills. Follow and reply '1024' to get Java programming resources. Learn together, grow together.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.