请给出用springboot整合mybatis的详细步骤,其中数据库如何创建也要详细解释
时间: 2024-02-20 20:56:12 浏览: 72
好的,下面是使用Spring Boot整合MyBatis的详细步骤:
1. 创建一个Spring Boot项目,添加上述依赖关系。
2. 在`application.properties`文件中配置数据库连接信息:
```properties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db_name?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
```
其中,`db_name`是您创建的数据库的名称,`root`和`123456`是您的数据库用户名和密码。
3. 创建数据库表,以下是一个示例SQL语句:
```sql
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
这将创建一个名为`user`的表,包含`id`、`name`和`age`三个字段。
4. 创建一个`User`实体类,如下所示:
```java
public class User {
private Long id;
private String name;
private Integer age;
// getter和setter省略
}
```
对应数据库表中的三个字段。
5. 创建一个`UserMapper`接口,定义数据访问方法:
```java
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User findById(Long id);
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
void save(User user);
}
```
这里使用了注解方式来定义SQL语句,`@Select`表示查询操作,`@Insert`表示插入操作。
6. 创建一个`UserMapper.xml`文件,定义SQL语句:
```xml
<?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.demo.mapper.UserMapper">
<select id="findById" parameterType="java.lang.Long" resultType="com.example.demo.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
<insert id="save" parameterType="com.example.demo.entity.User">
INSERT INTO user(name, age) VALUES(#{name}, #{age})
</insert>
</mapper>
```
这里也定义了与`UserMapper`接口相同的两个方法,但使用了XML方式来定义SQL语句。
7. 创建`UserServiceImpl`实现`UserService`接口:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User findById(Long id) {
return userMapper.findById(id);
}
@Override
public void save(User user) {
userMapper.save(user);
}
}
```
这里使用了`@Service`注解来声明为Spring Bean,`@Autowired`自动注入`UserMapper`接口。
8. 创建`UserController`控制器类:
```java
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/user/{id}")
public User findById(@PathVariable Long id) {
return userService.findById(id);
}
@PostMapping("/user")
public void save(@RequestBody User user) {
userService.save(user);
}
}
```
这里使用了`@RestController`注解声明为Spring MVC控制器,`@GetMapping`和`@PostMapping`分别表示HTTP GET和POST请求。
至此,整个项目已经完成,您可以启动应用程序并访问`http://localhost:8080/user/1`来测试查询操作,也可以使用POST请求来测试插入操作。
阅读全文