ホームページ  >  記事  >  Java  >  Spring Boot での MyBatis 構成のベスト プラクティスの詳細な説明

Spring Boot での MyBatis 構成のベスト プラクティスの詳細な説明

WBOY
WBOYオリジナル
2024-02-26 09:06:06999ブラウズ

详解Spring Boot中配置MyBatis的最佳实践

Spring Boot で MyBatis を構成するためのベスト プラクティスの詳細な説明には、特定のコード例が必要です。

Spring Boot は、Spring フレームワークに基づいてアプリケーションを迅速に構築するための開発フレームワークです。 MyBatis は、Spring Boot とシームレスに統合できる優れた永続層フレームワークです。この記事では、Spring Boot で MyBatis を構成するためのベスト プラクティスについて詳しく説明し、具体的なコード例を示します。

1. 依存関係の追加

まず、MyBatis とデータベース ドライバーの依存関係を pom.xml ファイルに追加します。サンプル コードは次のとおりです:

<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 ファイルでデータ ソースを構成できます。サンプル コードは次のとおりです:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydatabase
    username: root
    password: password
    driver-class-name: com.mysql.cj.jdbc.Driver

3. 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);
}

4. マッパー XML ファイルの作成

マッパー XML は、SQL ステートメントを実装するために MyBatis フレームワークによって使用されるマッピング ファイルです。 Spring Boot では、resources ディレクトリの下に mapper フォルダーを作成し、このフォルダーに Mapper 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">
    <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>

5. サービス層の作成

Spring Boot では、ビジネス ロジックを処理するために Mapper インターフェイスを呼び出すサービス層を作成できます。サンプル コードは次のとおりです。

@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);
    }
}

6. MyBatis を使用します。

サンプル コードは次のとおりです。

@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。上記の手順に従って設定することで、MyBatis を Spring Boot に簡単に統合し、データベースの追加、削除、変更、クエリ操作を実装できます。この記事があなたの成長に役立つことを願っています。

以上がSpring Boot での MyBatis 構成のベスト プラクティスの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。