Java バックエンド開発: データ アクセスに MyBatis を使用する

PHPz
リリース: 2023-06-17 09:50:02
オリジナル
1101 人が閲覧しました

Java バックエンド開発: データ アクセスに MyBatis を使用する

MyBatis は、Java バックエンド開発で広く使用されている優れた Java 永続性フレームワークです。 MyBatis は、開発者がデータ アクセス プロセスを実現し、アプリケーション開発サイクルを短縮できるよう効果的に支援します。

この記事では、MyBatis 環境の構成方法、データ アクセスに MyBatis を使用する方法など、Java バックエンド開発における MyBatis のアプリケーションを紹介します。

  1. MyBatis 環境設定

MyBatis を使用する前に環境を設定する必要があります。以下にその設定方法を簡単に紹介します。

1.1 データベース構成

MyBatis は構成ファイルを介してデータベースに接続する必要があるため、リソース ディレクトリに「mybatis-config.xml」という名前の構成ファイルを作成する必要があります。

設定データ ソース:

<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!-- 此处配置Mapper文件 -->

    </mappers>
</configuration>
ログイン後にコピー

1.2 Mapper 設定

Mapper は Dao インターフェイスの実装クラスであり、設定ファイルを通じて MyBatis と Mapper を関連付ける必要があります。相関方法は次のとおりです:

<mappers>
    <!-- 配置Mapper文件 -->
    <mapper resource="com/test/userMapper.xml"/>

</mappers>
ログイン後にコピー

Mapper 構成ファイルで定義された各 SQL ステートメントは、Mapper インターフェイス クラスのメソッドに対応します。そのため、Mapper インターフェイス メソッドを定義するときは、対応する SQL を指定するのが最善です。声明。 。

Mapper インターフェイス クラスの例:

public interface UserMapper {
    @Select("SELECT * FROM user WHERE id = #{id}")
    public User selectUserById(int id);

    @Insert("INSERT INTO user (username, password) VALUES (#{username}, #{password})")
    public int addUser(User user);

    @Update("UPDATE user SET password = #{password} WHERE id = #{id}")
    public int updateUserById(User user);

    @Delete("DELETE FROM user WHERE id = #{id}")
    public int deleteUserById(int id);
}
ログイン後にコピー
  1. MyBatis use

環境設定が完了したら、MyBatis を使用してデータ アクセスを行うことができます。

Java プロジェクトで MyBatis を使用する場合は、構成ファイルに従って SqlSessionFactory オブジェクトを作成し、次に SqlSessionFactory オブジェクトを通じて SqlSession オブジェクトを作成し、最後に SqlSession オブジェクトを通じてデータ アクセスを実行する必要があります。

2.1 SqlSessionFactory

SqlSessionFactory は、SqlSession を作成するためのファクトリ クラスです。MyBatis 環境では、SqlSessionFactoryBuilder クラスや XML ファイルなど、SqlSessionFactory オブジェクトを作成するさまざまな方法があります。

SqlSessionFactoryBuilder を通じて SqlSessionFactory オブジェクトを作成します:

String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
ログイン後にコピー

2.2 SqlSession

SqlSession は、データ アクセスを完了するために MyBatis で最も重要なクラスの 1 つです。すべてのデータベース操作は SqlSession を通じて行われます。オブジェクトが完成しました。

SqlSessionFactory を通じて SqlSession オブジェクトを作成します:

SqlSession session = sqlSessionFactory.openSession();
ログイン後にコピー

SqlSession オブジェクトを使用してデータベースにアクセスします:

// 获取Mapper接口对象
UserMapper userMapper = session.getMapper(UserMapper.class);

// 调用Mapper方法获取数据
User user = userMapper.selectUserById(1);

// 事务提交
session.commit();

// 关闭SqlSession对象
session.close();
ログイン後にコピー
  1. MyBatis アプリケーションのケース

これをやってみよう 実際の MyBatis アプリケーションのケースを見て、ユーザー情報をクエリすることによる MyBatis の使用法を示してみましょう。

3.1 Mapper インターフェイスの定義

public interface UserMapper {
    public User selectUserById(int id);
}
ログイン後にコピー

3.2 ユーザー クラスの定義

public class User {
    private int id;
    private String username;
    private String password;
    private String email;
    //...getter/setter
}
ログイン後にコピー

3.3 Mapper 設定ファイルの作成

<mapper namespace="com.test.UserMapper">
    <select id="selectUserById" resultType="User">
        SELECT * FROM user WHERE id = #{id}
    </select>
</mapper>
ログイン後にコピー

3.4 データベース アクセス用のコードの作成

// 读取MyBatis配置文件并创建SqlSessionFactory对象
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

// 使用SqlSessionFactory对象创建SqlSession对象
SqlSession session = sqlSessionFactory.openSession();

// 通过SqlSession获取Mapper接口对象
UserMapper mapper = session.getMapper(UserMapper.class);

// 调用Mapper接口获取数据
User user = mapper.selectUserById(1);
System.out.println(user);

// 事务提交并关闭Session资源
session.commit();
session.close();
ログイン後にコピー
  1. 概要

MyBatis は、開発者がデータ アクセス プロセスを効率的に完了するのに役立つ、非常に優れた Java 永続性フレームワークです。この記事では、Javaバックエンド開発におけるMyBatisの活用方法について、環境構成、使い方、活用事例の紹介などを含めて紹介します。この記事は、MyBatis データ アクセスを学びたい開発者にとって優れた参考資料となると考えています。

以上がJava バックエンド開発: データ アクセスに MyBatis を使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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