Java API 開発における SQL マッピングに MyBatis を使用する
Java Web 開発では、多くの場合、データの読み取りと書き込みのためにデータベース API を呼び出す必要があります。ただし、データ操作に JDBC (Java Database Connectivity) API を直接使用するのは非常に面倒で、手動で SQL ステートメントを作成し、データベース接続や結果セットなどを処理する必要があります。これらの些細なタスクは、開発者の作業効率を大幅に低下させるだけでなく、コードの可読性と保守性をさらに困難にします。したがって、これらの問題を解決するには、優れた ORM (オブジェクト リレーショナル マッピング) フレームワークが必要です。
MyBatis は、開発者がわずかな構成でデータベース操作を簡単かつ迅速に実行できるようにする優れた ORM フレームワークです。次の記事では、Java API 開発における SQL マッピングに MyBatis を使用する基本操作を紹介します。
1. MyBatis の基本構成
MyBatis を開発に使用する前に、まず MyBatis の基本構成を理解する必要があります。まず、MyBatis 関連の依存関係をプロジェクトの pom.xml ファイルに追加する必要があります:
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency>
次に、MyBatis を定義するために src/main/resources ディレクトリに mybatis-config.xml 構成ファイルを作成する必要があります。構成情報。このうち最も重要なのはデータソースの設定で、次のように設定できます:
<configuration> <environments default="dev"> <environment id="dev"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mybatis/mapper/PersonMapper.xml"/> </mappers> </configuration>
上記の設定により、データベースの接続情報とデータの読み込み先を設定します。マッピングファイル。このうち、mapper
タグは、どの SQL マッピング ファイルを使用するかを指定します。ここでは、例として PersonMapper.xml
マッピング ファイルを使用します。
2. MyBatis のマッピング ファイルを定義する
MyBatis では、SQL ステートメントの記述は XML ファイルを通じて実装されます。データ テーブルと Java エンティティ クラスおよび関連する SQL ステートメントの間のマッピング情報を保存するには、マッピング ファイル (PersonMapper.xml など) を定義する必要があります。
次は例です。id、name、age の 3 つの属性を含む person エンティティ クラスがあるとします。これをデータベース内の person テーブルにマップする必要があります。次に、次の SQL マッピング ステートメントを PersonMapper.xml ファイルに定義できます。
<mapper namespace="com.example.mapper.PersonMapper"> <select id="selectPersonById" parameterType="int" resultType="com.example.model.Person"> SELECT * FROM person WHERE id = #{id} </select> <insert id="insertPerson" parameterType="com.example.model.Person"> INSERT INTO person (id, name, age) VALUES (#{id}, #{name}, #{age}) </insert> <delete id="deletePersonById" parameterType="int"> DELETE FROM person WHERE id=#{id} </delete> <update id="updatePerson" parameterType="com.example.model.Person"> UPDATE person SET name=#{name}, age=#{age} WHERE id=#{id} </update> </mapper>
上記のコードでは、person テーブルのクエリ、挿入、削除、更新に対応する 4 つの SQL マッピング ステートメントを定義します。データ。各 SQL マッピング ステートメントでは、SQL ステートメントのタイプ (選択、挿入、削除、更新など) を指定し、SQL ステートメントに対応するメソッド名、パラメーターのタイプ、および戻り値のタイプを示す必要があります。
3. 単純なデータ操作には MyBatis を使用します
MyBatis 構成ファイルと SQL マッピング ファイルを定義した後、Java コードで対応するメソッドを呼び出して、対応するメソッドを実装できます。操作された。 ID に基づいて Person オブジェクトをクエリする例を次に示します。
1) Person クラスを定義します。
ID、名前、年齢の 3 つの属性を含む Person エンティティ クラスがあるとします。
public class Person { private int id; private String name; private int age; // getters and setters }
2) PersonMapper インターフェイスを定義します。
以下に示すように、PersonMapper インターフェイスでは、person テーブルを追加、削除、変更、クエリするメソッドを定義できます。
public interface PersonMapper { Person selectPersonById(int id); void insertPerson(Person person); void deletePersonById(int id); void updatePerson(Person person); }
3) データ操作には MyBatis を使用します
Java コードでは、MyBatis の SqlSessionFactory クラスを使用して SQL セッション ファクトリ オブジェクトを作成できます。このオブジェクトを通じて SQL セッション オブジェクトを取得し、そのオブジェクトのメソッドを呼び出してデータ操作を実行できます。以下は、ID に基づいて Person オブジェクトをクエリする簡単な例です。
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory factory = builder.build(inputStream); SqlSession session = factory.openSession(); PersonMapper personMapper = session.getMapper(PersonMapper.class); Person person = personMapper.selectPersonById(1); System.out.println(person.getName());
上記のコードでは、SqlSessionFactoryBuilder クラスを使用して、mybatis-config.xml ファイルから SqlSessionFactory オブジェクトを作成します。次に、SqlSessionFactory オブジェクトを通じて SqlSession オブジェクトを作成し、オブジェクトの getMapper
メソッドを通じて PersonMapper プロキシ クラス オブジェクトを取得しました。最後に、プロキシ クラスの selectPersonById メソッドを呼び出し、ID 1 の Person オブジェクトを取得し、出力を出力しました。とても簡単なことではありませんか?
4. 概要
MyBatis は非常に優れた ORM フレームワークであり、そのマッピング ファイルを通じて SQL マッピングを簡単かつ迅速に実行できます。この記事では、Java API開発におけるデータ操作を行う皆様のお役に立てればと思い、MyBatisの基本的な構成と使い方を紹介します。もちろん、MyBatis を使用した他の高度な機能や最適化テクニックも多数あります。これらについては、次の記事で紹介しますので、ご期待ください。
以上がJava API開発におけるSQLマッピングにMyBatisを使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。