検索
ホームページJava&#&チュートリアルSpring Boot での MyBatis 構成のベスト プラクティスの詳細な説明

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

Feb 26, 2024 am 09:06 AM
ベストプラクティスSQL文スプリングフレームワークJavaインターフェース

详解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 までご連絡ください。
高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?Mar 17, 2025 pm 05:46 PM

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?Mar 17, 2025 pm 05:45 PM

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?Mar 17, 2025 pm 05:44 PM

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?Mar 17, 2025 pm 05:43 PM

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Mar 17, 2025 pm 05:35 PM

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、