1. 引入依赖
首先,pom.xml 中添加MyBatis-Plus的依赖
<!-- Maven中的依赖示例 -->
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>版本</version>
</dependency>
2. 配置数据源
在Spring Boot项目的配置文件(如application.properties或application.yml)中,配置数据库连接信息,包括数据库的URL、用户名、密码以及驱动类名。
# application.properties 示例
spring.datasource.url=jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
3. 实体类
实体类通常对应于数据库中的表。使用MyBatis-Plus的注解可以简化映射过程。
java">import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable; @TableName("user") // 指定实体类对应的数据库表名
public class User implements Serializable { private static final long serialVersionUID = 1L; @TableId // 标识主键字段 private Long id; private String name; private Integer age; // 省略 getter 和 setter 方法
}
通过@TableName注解指定实体类对应的数据库表名,通过@TableId注解标识主键字段。
4. Mapper 接口
Mapper接口用于定义与数据库交互的SQL语句。可以继承MyBatis-Plus提供的BaseMapper接口,这样就无需编写常见的 CRUD 方法了。
java">import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; @Mapper
public interface UserMapper extends BaseMapper<User> { // 如果有特殊的SQL操作,可以在这里自定义方法
}
5. Service 层
Service层通常包含业务逻辑。可以通过继承MyBatis-Plus的ServiceImpl类来快速实现业务逻辑。
java">import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; @Service
public class UserService extends ServiceImpl<UserMapper, User> implements IService<User> { // 在这里可以添加自定义的业务逻辑方法
}
通过继承ServiceImpl并指定Mapper接口和实体类,可以快速获得基本的CRUD操作。
6. 调用 Service
在Controller或其他组件中,可以注入Service并调用其方法来实现业务逻辑。
java">import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class UserController { @Autowired private UserService userService; @GetMapping("/users") public List<User> getAllUsers() { return userService.list(); // 调用Service层的方法获取所有用户列表 }
}
7. 启动类
确保 Spring Boot 启动类上有@MapperScan注解,以扫描Mapper接口。
java">import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.mybatis.spring.annotation.MapperScan; @SpringBootApplication
@MapperScan("com.yourpackage.mapper") // 替换为你的Mapper接口所在的