SpringBoot3.x + JDK21 整合 Mybatis-Plus
warning:
这篇文章距离上次修改已过180天,其中的内容可能已经有所变动。
Spring Boot 3.x 和 JDK 21 的整合以及 MyBatis-Plus 的使用,需要以下步骤:
- 创建一个新的 Spring Boot 项目,并确保选择合适的 Spring Boot 版本,该版本支持 JDK 21。
- 在
pom.xml
中添加 MyBatis-Plus 的依赖:
<dependencies>
<!-- 其他依赖... -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>最新版本</version>
</dependency>
<!-- 数据库驱动依赖,例如 MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>最新版本</version>
</dependency>
</dependencies>
- 配置
application.properties
或application.yml
文件,添加数据库连接信息和 MyBatis-Plus 的配置:
# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/your_database?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MyBatis-Plus 配置
mybatis-plus.mapper-locations=classpath:/mappers/**/*.xml
mybatis-plus.type-aliases-package=com.yourpackage.model
mybatis-plus.global-config.db-config.id-type=auto
mybatis-plus.global-config.db-config.field-strategy=not_empty
mybatis-plus.global-config.db-config.table-prefix=tbl_
- 创建实体类和对应的 Mapper 接口。
实体类示例:
package com.yourpackage.model;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
@TableName("user")
public class User implements Serializable {
private Long id;
private String name;
private Integer age;
private String email;
// 省略 getter 和 setter 方法
}
Mapper 接口示例:
package com.yourpackage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yourpackage.model.User;
public interface UserMapper extends BaseMapper<User> {
// 此接口会继承 BaseMapper 的所有方法,无需额外编写
}
- 在 Spring Boot 启动类上添加
@MapperScan
注解来扫描 Mapper 接口:
package com.yourpackage;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.yourpackage.mapper")
public class YourApplication {
评论已关闭