首先,需要在项目的pom.xml文件中添加MyBatis和数据库驱动的依赖。使用mybatis-spring-boot-starter来实现快速集成,并加入MySQL驱动程序mysql-connector-java来实现与数据库的连接。
1 2 3 4 5 6 7 8 9 10 11 12 13 | < dependencies > <!-- MyBatis Spring Boot Starter 依赖 --> < dependency > < groupId >org.mybatis.spring.boot</ groupId > < artifactId >mybatis-spring-boot-starter</ artifactId > < version >2.2.0</ version > </ dependency > <!-- MySQL驱动程序 --> < dependency > < groupId >mysql</ groupId > < artifactId >mysql-connector-java</ artifactId > </ dependency > </ dependencies > |
创建数据库映射实体类
接下来,需要创建一个与数据库表对应的实体类。例如,如果有一个user表,可以创建一个User实体类:
1 2 3 4 5 6 | public class User { private Long id; private String name; private String email; // getters and setters } |
创建Mapper层接口
在MyBatis中,Mapper层接口用于定义数据库操作的方法。以下是一个简单的UserMapper接口示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | @Mapper public interface UserMapper { @Select ( "SELECT * FROM user WHERE id = #{id}" ) User findUserById(Long id); @Insert ( "INSERT INTO user(name, email) VALUES(#{name}, #{email})" ) int insertUser(User user); @Update ( "UPDATE user SET name = #{name}, email = #{email} WHERE id = #{id}" ) int updateUser(User user); @Delete ( "DELETE FROM user WHERE id = #{id}" ) int deleteUser(Long id); } |
创建Service层
Service层用于封装业务逻辑,并调用Mapper层接口中的方法。以下是一个简单的UserService接口和实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | @Service public interface UserService { User getUserById(Long id); void createUser(User user); void updateUser(User user); void deleteUser(Long id); } @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User getUserById(Long id) { return userMapper.findUserById(id); } @Override public void createUser(User user) { userMapper.insertUser(user); } @Override public void updateUser(User user) { userMapper.updateUser(user); } @Override public void deleteUser(Long id) { userMapper.deleteUser(id); } } |
创建Controller层
最后,创建一个UserController来处理HTTP请求,并调用Service层的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | @RestController @RequestMapping ( "/users" ) public class UserController { @Autowired private UserService userService; @GetMapping ( "/{id}" ) public User getUserById( @PathVariable Long id) { return userService.getUserById(id); } @PostMapping ( "" ) public ResponseEntity<User> createUser( @RequestBody User user) { userService.createUser(user); return ResponseEntity.ok(user); } @PutMapping ( "/{id}" ) public User updateUser( @PathVariable Long id, @RequestBody User user) { user.setId(id); userService.updateUser(user); return user; } @DeleteMapping ( "/{id}" ) public void deleteUser( @PathVariable Long id) { userService.deleteUser(id); } } |