Spring Boot에서 MyBatis를 구성하는 모범 사례에 대한 자세한 설명, 특정 코드 예제가 필요합니다.
Spring Boot는 Spring 프레임워크를 기반으로 애플리케이션을 빠르게 구축하기 위한 개발 프레임워크입니다. MyBatis는 Spring Boot와 완벽하게 통합될 수 있는 뛰어난 지속성 레이어 프레임워크입니다. 이 기사에서는 Spring Boot에서 MyBatis를 구성하는 모범 사례를 자세히 설명하고 특정 코드 예제를 제공합니다.
1. 종속성 추가
먼저 pom.xml 파일에 MyBatis 및 데이터베이스 드라이버 종속성을 추가합니다. 샘플 코드는 다음과 같습니다:
<dependencies> <!-- MyBatis依赖 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> <!-- 数据库驱动依赖 --> <dependency> <groupId>com.mysql.cj</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> </dependency> </dependencies>
2. 데이터 소스 구성
데이터 소스 구성은 MyBatis 구성의 첫 번째 단계입니다. Spring Boot에서는 application.properties
또는 application.yml
파일에서 데이터 소스를 구성할 수 있습니다. 샘플 코드는 다음과 같습니다. application.properties
或application.yml
文件中配置数据源。示例代码如下:
spring: datasource: url: jdbc:mysql://localhost:3306/mydatabase username: root password: password driver-class-name: com.mysql.cj.jdbc.Driver
三、创建Mapper接口
Mapper接口是MyBatis映射文件与Java接口之间的桥梁。在Spring Boot中,我们可以使用@Mapper
注解来标记Mapper接口,并使用@Repository
注解来标记其作为Repository存储库的组件。示例代码如下:
@Mapper @Repository public interface UserMapper { // 添加用户 void addUser(User user); // 查询用户 List<User> getUsers(); // 更新用户 void updateUser(User user); // 删除用户 void deleteUser(int id); }
四、创建Mapper XML 文件
Mapper XML是MyBatis框架用来实现SQL语句的映射文件。在Spring Boot中,我们可以在resources
目录下创建mapper
<?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"> <resultMap id="UserResultMap" type="com.example.entity.User"> <id property="id" column="id"/> <result property="name" column="name"/> <result property="age" column="age"/> </resultMap> <insert id="addUser" parameterType="com.example.entity.User"> INSERT INTO user(name, age) VALUES(#{name}, #{age}) </insert> <select id="getUsers" resultMap="UserResultMap"> SELECT id, name, age FROM user </select> <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> </mapper>
@Mapper
주석을 사용하여 Mapper 인터페이스를 표시하고 @Repository
주석을 사용하여 Repository 저장소의 구성 요소로 표시할 수 있습니다. 샘플 코드는 다음과 같습니다. @Service public class UserService { private final UserMapper userMapper; @Autowired public UserService(UserMapper userMapper) { this.userMapper = userMapper; } public void addUser(User user) { userMapper.addUser(user); } public List<User> getUsers() { return userMapper.getUsers(); } public void updateUser(User user) { userMapper.updateUser(user); } public void deleteUser(int id) { userMapper.deleteUser(id); } }
resources
디렉터리에 mapper
폴더를 만들고 이 폴더에 Mapper XML 파일을 저장할 수 있습니다. 샘플 코드는 다음과 같습니다. @RestController @RequestMapping("/users") public class UserController { private final UserService userService; @Autowired public UserController(UserService userService) { this.userService = userService; } @GetMapping public List<User> getUsers() { return userService.getUsers(); } @PostMapping public void addUser(@RequestBody User user) { userService.addUser(user); } @PutMapping("/{id}") public void updateUser(@PathVariable int id, @RequestBody User user) { user.setId(id); userService.updateUser(user); } @DeleteMapping("/{id}") public void deleteUser(@PathVariable int id) { userService.deleteUser(id); } }
위 내용은 Spring Boot의 MyBatis 구성 모범 사례에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!