如何用springboot整合mybatis,请给出controller中的usercontoller类,entity中的user类,Mapper中的UserMapper接口,和UserMapper.xml文件,并解释之
时间: 2024-03-08 22:46:01 浏览: 116
好的,我会给你一个简单的示例来说明如何用SpringBoot整合Mybatis。
首先,你需要在pom.xml文件中添加Mybatis和Mybatis-SpringBoot-Starter依赖。然后在application.properties或者application.yml文件中配置数据库连接信息。
下面是一个简单的示例:
1. UserController.java
```
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/{id}")
public User getUserById(@PathVariable("id") Integer id) {
return userMapper.getUserById(id);
}
@PostMapping("/")
public int addUser(@RequestBody User user) {
return userMapper.addUser(user);
}
@PutMapping("/")
public int updateUser(@RequestBody User user) {
return userMapper.updateUser(user);
}
@DeleteMapping("/{id}")
public int deleteUser(@PathVariable("id") Integer id) {
return userMapper.deleteUser(id);
}
@GetMapping("/")
public List<User> getAllUsers() {
return userMapper.getAllUsers();
}
}
```
2. User.java
```
public class User {
private Integer id;
private String name;
private Integer age;
// getter and setter methods
}
```
3. UserMapper.java
```
@Mapper
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User getUserById(@Param("id") Integer id);
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
int addUser(User user);
@Update("UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}")
int updateUser(User user);
@Delete("DELETE FROM user WHERE id=#{id}")
int deleteUser(@Param("id") Integer id);
@Select("SELECT * FROM user")
List<User> getAllUsers();
}
```
4. 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.mapper.UserMapper">
<select id="getUserById" parameterType="int" resultType="com.example.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
<insert id="addUser" parameterType="com.example.entity.User">
INSERT INTO user(name, age) VALUES(#{name}, #{age})
</insert>
<update id="updateUser" parameterType="com.example.entity.User">
UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}
</update>
<delete id="deleteUser" parameterType="int">
DELETE FROM user WHERE id=#{id}
</delete>
<select id="getAllUsers" resultType="com.example.entity.User">
SELECT * FROM user
</select>
</mapper>
```
上述代码中,UserController类中的方法使用了UserMapper接口中的方法,而UserMapper接口中的方法使用了注解或者XML文件来实现SQL语句的映射。
其中,@Mapper注解是Mybatis提供的,用于将UserMapper接口转换为Mapper映射文件。
这里给出了两种实现方式,一种是使用注解,另一种是使用XML文件。至于哪种方式更好,取决于你的个人喜好和具体需求。
希望这个示例对你有所帮助!
阅读全文