ホームページ > Java > &#&チュートリアル > MyBatis を使用して Spring Boot でデータ アクセスと永続性を実装する

MyBatis を使用して Spring Boot でデータ アクセスと永続性を実装する

WBOY
リリース: 2023-06-22 14:37:57
オリジナル
1459 人が閲覧しました

Spring Boot は、開発者が WEB アプリケーションを迅速に構築できるようにする迅速な開発フレームワークです。 MyBatis は、Java とデータベース間のデータ アクセスと永続化を簡素化できる優れた ORM フレームワークです。この記事では、MyBatis を使用して Spring Boot でデータ アクセスと永続性を実装する方法を紹介します。

1. Spring Boot は MyBatis を統合します

  1. 依存関係の追加

MyBatis と MySQL の依存関係を pom.xml ファイルに追加します:

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.1</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.42</version>
</dependency>
ログイン後にコピー

ここでは、mybatis-spring-boot-starter を使用して MyBatis を統合します。

  1. データ ソースの構成

application.properties にデータベース接続プロパティを追加します。

spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driverClassName=com.mysql.jdbc.Driver
ログイン後にコピー

ここでは、MySQL データベースを使用し、ルートを使用して接続します。アカウント、パスワードは 123456 です。

  1. MyBatis の構成

Spring Boot はデフォルトでマッパー パスを自動的にスキャンします。application.properties でマッパー パスを構成するだけで済みます:

mybatis.mapper-locations=classpath:mapper/*.xml
ログイン後にコピー

この構成は、マッパー ファイルがプロジェクトのクラスパスの下のマッパー フォルダーにあることを示します。

上記の構成が完了すると、Spring Boot による MyBatis の統合が完了します。

2. エンティティ クラスとマッパーの作成

  1. エンティティ クラスの作成

データベース内のユーザー テーブルを表す User クラスを定義します。

public class User {
    private Long id;
    private String name;
    private Integer age;
    // 省略getter和setter方法
}
ログイン後にコピー
  1. Mapper の記述

UserMapper インターフェイスを定義して、User テーブルの追加、削除、変更、およびクエリ操作を定義します。

public interface UserMapper {
    void saveUser(User user);
    void updateUser(User user);
    void deleteUser(Long id);
    User findUserById(Long id);
    List<User> findAllUsers();
}
ログイン後にコピー

ここでは追加を定義します。 、削除、変更、クエリ、およびすべてのユーザーをクエリするメソッド。

3. Mapper.xml を記述する

次に、UserMapper で定義された操作を実装するために UserMapper.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.demo.mapper.UserMapper">
    <insert id="saveUser" parameterType="com.example.demo.entity.User">
        insert into user(name, age) values (#{name}, #{age})
    </insert>

    <update id="updateUser" parameterType="com.example.demo.entity.User">
        update user set name = #{name}, age = #{age} where id = #{id}
    </update>

    <delete id="deleteUser" parameterType="java.lang.Long">
        delete from user where id = #{id}
    </delete>

    <select id="findUserById" parameterType="java.lang.Long"
            resultType="com.example.demo.entity.User">
        select * from user where id = #{id}
    </select>

    <select id="findAllUsers" resultType="com.example.demo.entity.User">
        select * from user
    </select>
</mapper>
ログイン後にコピー

このファイルでは、次のことを実装します。 UserMapper で定義されたすべてのメソッド。parameterType はパラメータのタイプを表し、resultType は戻り値のタイプを表します。

4. Service クラスとコントローラーの作成

  1. Service クラスの作成

UserService クラスを定義して、User テーブルに対する操作をカプセル化します。

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public void saveUser(User user) {
        userMapper.saveUser(user);
    }

    public void updateUser(User user) {
        userMapper.updateUser(user);
    }

    public void deleteUser(Long id) {
        userMapper.deleteUser(id);
    }

    public User findUserById(Long id) {
        return userMapper.findUserById(id);
    }

    public List<User> findAllUsers() {
        return userMapper.findAllUsers();
    }
}
ログイン後にコピー

このクラスでは、@Autowired アノテーションを使用して UserMapper を挿入します。つまり、UserMapper で定義されたメソッドを使用できます。

  1. コントローラーの作成

ユーザーの追加、削除、変更、クエリ操作を実装する UserController クラスを定義します。

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @PostMapping("/")
    public String saveUser(@RequestBody User user) {
        userService.saveUser(user);
        return "success";
    }

    @PutMapping("/")
    public String updateUser(@RequestBody User user) {
        userService.updateUser(user);
        return "success";
    }

    @DeleteMapping("/{id}")
    public String deleteUser(@PathVariable Long id) {
        userService.deleteUser(id);
        return "success";
    }

    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.findUserById(id);
    }

    @GetMapping("/")
    public List<User> findAllUsers() {
        return userService.findAllUsers();
    }
}
ログイン後にコピー

このクラスでは、次を使用します。 @ RestController アノテーションは、現在のクラスがコントローラーであることを示し、アクセス パスは @RequestMapping アノテーションを使用して指定されます。同時に、@Autowired アノテーションを使用して UserService が挿入されます。つまり、UserService で定義されたメソッドを使用できます。

5. テスト

これで、プロジェクト全体の構築とコーディングが完了しました。次に、Postman などのツールを使用して、コントローラーで定義された API をテストできます。

Use POST リクエストを使用してユーザー情報を保存します。リクエストの本文は次のとおりです。

{
    "name": "张三",
    "age": 18
}
ログイン後にコピー

Use PUT リクエストを使用してユーザー情報を更新します。リクエストの本文は次のとおりです。

{
    "id": 1,
    "name": "李四",
    "age": 20
}
ログイン後にコピー

Use DELETE request toユーザー情報を削除します。URL は次のとおりです。

http://localhost:8080/user/1
ログイン後にコピー
ログイン後にコピー

GET リクエストを使用してユーザー情報を取得します。 URL は

http://localhost:8080/user/1
ログイン後にコピー
ログイン後にコピー

GET リクエストを使用してすべてのユーザー情報を取得します。URL は

http://localhost:8080/user/
ログイン後にコピー

6 、概要

この記事では、MyBatis を使用して Spring Boot でデータ アクセスと永続性を実装する方法を紹介し、簡単な例を使用してプロセス全体を説明します。 MyBatis を使用すると、Java プログラムのデータベース操作をより効率的かつ簡潔にすることができるため、Spring Boot でデータベース操作を実装する必要がある場合は、MyBatis の使用を検討できます。

以上がMyBatis を使用して Spring Boot でデータ アクセスと永続性を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート