下面我将详细讲解“springboot+mybatis通过实体类自动生成数据库表的方法”的完整攻略,其中会包含两个示例。
1. 引入依赖
首先,在工程的pom.xml
文件中引入如下依赖:
<!-- Spring Boot 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.4.3</version>
</dependency>
<!-- Spring Boot MyBatis 依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<!-- MySQL 驱动依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
2. 配置 MySQL 数据库
在application.properties
文件中配置 MySQL 数据库连接信息:
# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
3. 编写实体类
编写实体类User.java
,用于生成对应的数据库表:
public class User {
private Long id;
private String name;
private Integer age;
// Getter and Setter 方法省略
}
4. 编写 MyBatis 映射文件
在UserMapper.xml
文件中编写 SQL 映射语句,用于生成对应的数据库表:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.example.entity.User">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="age" property="age"/>
</resultMap>
<sql id="Base_Column_List">
id, name, age
</sql>
<insert id="insert" parameterType="com.example.entity.User">
insert into user
(<include refid="Base_Column_List"/>)
values
(#{id}, #{name}, #{age})
</insert>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from user
where id =#{id}
</select>
</mapper>
5. 启动项目
启动 Spring Boot 项目,MyBatis 在启动时会自动扫描com.example.entity
包下的所有实体类,自动生成对应的数据库表。
示例一:新增数据
在控制器UserController.java
中新增一个用户:
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@PostMapping("/add")
public String addUser() {
User user = new User();
user.setId(1L);
user.setName("Tom");
user.setAge(18);
userMapper.insert(user);
return "添加成功";
}
}
然后发送一个 POST 请求:http://localhost:8080/user/add,就可以在数据库中查看到添加的数据。
示例二:查询数据
在控制器UserController.java
中查询一个用户:
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
return userMapper.selectByPrimaryKey(id);
}
}
然后发送一个 GET 请求:http://localhost:8080/user/1,就可以查询到数据库中 ID 为 1 的用户信息。
至此,就可以通过实体类自动生成数据库表了,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot+mybatis通过实体类自动生成数据库表的方法 - Python技术站