1.添加 Maven 依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
2.配置数据源和 Mybatis
application.properties 文件中添加以下配置:
# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=UTF-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# Mybatis 配置
mybatis.mapper-locations=classpath*:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity
3.创建实体类
public class User {
private Long id;
private String name;
private Integer age;
// getters and setters
}
4.创建Mapper接口
创建 Mapper 接口 UserMapper,定义增删改查方法。
@Mapper
public interface UserMapper {
// 查询所有用户
List<User> findAll();
// 根据 ID 查询用户
User findById(Long id);
// 新增用户
int insert(User user);
// 更新用户
int update(User user);
// 根据 ID 删除用户
int deleteById(Long id);
}
5.创建Mapper的XML文件
在 resources/mapper 目录下创建 UserMapper.xml 文件,实现 Mapper 接口中定义的方法。
<mapper namespace="com.example.demo.mapper.UserMapper">
<!-- 查询所有用户 -->
<select id="findAll" resultType="com.example.demo.entity.User">
SELECT * FROM user
</select>
<!-- 根据 ID 查询用户 -->
<select id="findById" resultType="com.example.demo.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
<!-- 新增用户 -->
<insert id="insert" parameterType="com.example.demo.entity.User">
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
<!-- 更新用户 -->
<update id="update" parameterType="com.example.demo.entity.User">
UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
</update>
<!-- 根据 ID 删除用户 -->
<delete id="deleteById">
DELETE FROM user WHERE id = #{id}
</delete>
</mapper>
6.创建Service
创建 UserService,调用 UserMapper 中的方法进行业务操作。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
// 查询所有用户
public List<User> findAll() {
return userMapper.findAll();
}
// 根据 ID 查询用户
public User findById(Long id) {
return userMapper.findById(id);
}
// 新增用户
public int insert(User user) {
return userMapper.insert(user);
}
// 更新用户
public int update(User user) {
return userMapper.update(user);
}
// 根据 ID 删除用户
public int deleteById(Long id) {
return userMapper.deleteById(id);
}
}
7.创建Controller层
创建 UserController,处理 HTTP 请求,调用 UserService 中的方法进行业务操作。
@RestController @RequestMapping("/users") public class UserController { @Autowired private UserService userService; // 查询所有用户 @GetMapping public List<User> findAll() { return userService.findAll(); } // 根据 ID 查询用户 @GetMapping("/{id}") public User findById(@PathVariable Long id) { return userService.findById(id); } // 新增用户 @PostMapping public int insert(@RequestBody User user) { return userService.insert(user); } // 更新用户 @PutMapping("/{id}") public int update(@PathVariable Long id, @RequestBody User user) { user.setId(id); return userService.update(user); } // 根据 ID 删除用户 @DeleteMapping("/{id}") public int deleteById(@PathVariable Long id) { return userService.deleteById(id); } }
看个人习惯最开始写Controller和最后写都差不多。