我想用springboot整合mybatis,请给出一个例子,说明User,UserMapper,UserController和UserMapper.xml应当如何写?
时间: 2024-02-28 21:52:07 浏览: 85
好的,以下是一个简单的使用Spring Boot整合MyBatis的例子。
1. 创建一个名为User的实体类,包含id和name两个属性,以及相应的getter和setter方法。
```java
public class User {
private long id;
private String name;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
```
2. 创建一个UserMapper接口,包含插入用户、查询所有用户、根据ID查询用户三个方法。
```java
@Mapper
public interface UserMapper {
@Insert("INSERT INTO user(name) VALUES(#{name})")
void insert(User user);
@Select("SELECT * FROM user")
List<User> getAll();
@Select("SELECT * FROM user WHERE id=#{id}")
User getById(long id);
}
```
3. 创建一个UserController类,使用UserMapper进行增删改查操作。
```java
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@PostMapping("/user")
public User addUser(@RequestBody User user) {
userMapper.insert(user);
return user;
}
@GetMapping("/user")
public List<User> getUsers() {
return userMapper.getAll();
}
@GetMapping("/user/{id}")
public User getUserById(@PathVariable("id") long id) {
return userMapper.getById(id);
}
}
```
4. 创建一个UserMapper.xml文件,包含与UserMapper接口相同的三个方法。
```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">
<insert id="insert" parameterType="com.example.demo.entity.User">
INSERT INTO user(name) VALUES(#{name})
</insert>
<select id="getAll" resultType="com.example.demo.entity.User">
SELECT * FROM user
</select>
<select id="getById" resultType="com.example.demo.entity.User">
SELECT * FROM user WHERE id=#{id}
</select>
</mapper>
```
5. 在application.properties文件中配置MyBatis。
```
mybatis.mapper-locations=classpath*:mapper/*.xml
```
6. 运行Spring Boot应用程序,访问http://localhost:8080/user即可进行增删改查操作。
希望这个例子能够帮到你。
阅读全文