English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MyBatisは、通常のSQLクエリ、ストアドプロシージャー、および高度なマッピングをサポートする優れた持久化レイヤーフレームワークです。MyBatisは、ほぼすべてのJDBCコードとパラメータの手動設定、および結果セットの検索エンブレスリングを排除します。MyBatisは、シンプルなXMLやアノテーションを使用して設定と原始マッピングを行い、インターフェースとJavaのPOJO(Plain Old Java Objects、普通のJavaオブジェクト)をデータベースのレコードにマッピングできます。
1プロジェクトの作成、jarパッケージのインポート
JavaエンジンまたはWebエンジンを構築することができます。その後、MyBatisのjarパッケージと依存関係パッケージ、そしてデータベースのjarパッケージをインポートします。私はOracleを使用しています。10gデータベース
mybatis-3.2.2.jar 核心ドライバー
asm-3.3.1.jar
cglib-2.2.2.jar
commons-logging-1.1.1.jar
javassist-3.17.1-GA.jar
log4j-1.2.17.jar
slf4j-api-1.7.5.jar
slf4j-log4j12-1.7.5.jar
classes12.jar Oracle10gのjarパッケージ
2.sqlMapConfig.xmlの主要なデータベース接続設定ファイルを作成します
.srcディレクトリ底下にsqlMapConfig.xmlファイルを作成します
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!--データソース、環境の設定--> <!--複数の環境を設定できます。テスト時に使用するものと、リリース時に使用するものがあります。--> <environments default="test"> <!--テスト環境--> <environment id="test"> <!--トランザクションの設定: JDBCトランザクション/MANAGEDコンテナに任せたトランザクション--> <transactionManager type="JDBC"></transactionManager> <!--データソース: POOLEDプール化/UNPOOLED非プール化/JNDIパスワードエンクリピョン、セキュリティが高い--> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="username" value="scott"/> <property name="password" value="luogg"/> </dataSource> </environment> <!--サーバー環境--> <environment id="deploy"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="username" value="scott"/> <property name="password" value="luogg"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/luogg/mapper/PersonMapper.xml"/> </mappers> </configuration>
3.src底下にtestフォルダを作成し、testフォルダ下にTestMybatis.javaファイルを作成します
package test; import com.luogg.domain.Person; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.util.List; /** * luoggによって作成されました 2017/2/17. */ public class TestMybatis { @Test public void init() throws IOException { /** * データベースの接続をテスト * 1String型の変数resourceを定義し、先ほど設定したデータベース接続のxmlファイルを指す * 2.入力ストリームを作成して、データベースの設定ファイルを読み取る * 3.入力ストリームを作成して工場を作成 * 4.工場をオープン */ String resource = "sqlMapConfig.xml"; InputStream is = Resources.getResourceAsStream(resource); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is); SqlSession session = factory.openSession(); }
.この時点で、セッションが作成されているかどうかのユニットテストを行い、緑色が表示された場合は作成成功です。その次に、データベーステーブルを作成し、SQL文を書きます
4.データベースを作成し、データを書き込みます
CREATE TABLE person( ID NUMBER(2), NAME VARCHAR2(20), sex NUMBER(2), age NUMBER(3) ) -- データを書き込み、下のロックボタンをクリックして、その後+をクリックします SELECT * FROM person FOR UPDATE
5.在src底下创建com.luogg.domainパッケージ,そのパッケージ下にPerson.javaのエンティティベーンを作成します
package com.luogg.domain; /** * luoggによって作成されました 2017/2/17. */ public class Person { private String name; private int sex; private int age; private int id; @Override public String toString() { return "Person{" + "name='" + name + "\'' + "sex=" + sex + "age=" + age + "id=" + id + '}'; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getSex() { return sex; } public void setSex(int sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
6.データベースと対応するマッピングファイルを作成します。src下にcom.luogg.mapperパッケージを作成し、PersonMapper.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"> <!--ネームスペースの設定、ネームスペース+ .id はユニークなSQL文の識別子です。--> <mapper namespace="com.luogg.mapper.PersonMapper"> <!--すべてのデータをクエリする、パラメータにはid、resultType結果セット、parameterTypeパラメータがあります。--> <!--注意: SQL文にコレクションを記入する必要がある場合(例えば、すべてのデータをクエリする場合、Personの結果セットを返す場合)、resultTypeパラメータは直接パスを記入します。+コレクションのタイプ 例えば: Personコレクションを返す場合は、PersonBeanの場所を記入します。+Person--> <select id="find" resultType="com.luogg.domain.Person"> SELECT * from person </select> </mapper>
7.sqlMapConfig.xmlのメインコンフィギュレーションファイルでマッピングを行い、書いたSQLステートメントのコンフィギュレーションファイルを認識させます。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!--データソース、環境の設定--> <!--複数の環境を設定できます。テスト時に使用するものと、リリース時に使用するものがあります。--> <environments default="test"> <!--テスト環境--> <environment id="test"> <!--トランザクションの設定: JDBCトランザクション/MANAGEDコンテナに任せたトランザクション--> <transactionManager type="JDBC"></transactionManager> <!--データソース: POOLEDプール化/UNPOOLED非プール化/JNDIパスワードエンクリピョン、セキュリティが高い--> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="username" value="scott"/> <property name="password" value="luogg"/> </dataSource> </environment> <!--サーバー環境--> <environment id="deploy"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="username" value="scott"/> <property name="password" value="luogg"/> </dataSource> </environment> </environments> <!--マッパーファイルmapper--> <mappers> <mapper resource="com/luogg/mapper/PersonMapper.xml"/> </mappers> </configuration>
8TestMybatis.javaテストクラスに戻り、設定ファイルのsql文にアクセスし、結果セットを返します
package test; import com.luogg.domain.Person; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.util.List; /** * luoggによって作成されました 2017/2/17. */ public class TestMybatis { @Test public void init() throws IOException { /** * データベースの接続をテスト * 1String型の変数resourceを定義し、先ほど設定したデータベース接続のxmlファイルを指す * 2.入力ストリームを作成して、データベースの設定ファイルを読み取る * 3.入力ストリームを作成して工場を作成 * 4.工場をオープン * 5.sessionを通じて設定ファイル内のSQL文にアクセス */ String resource = "sqlMapConfig.xml"; InputStream is = Resources.getResourceAsStream(resource); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is); SqlSession session = factory.openSession(); //どうやってPersonMapper.xml内のSQL文にアクセスするのでしょうか?63; ネームスペース+ .id List<Person> list = session.selectList("com.luogg.mapper.PersonMapper.find"); System.out.println(list.size()); for(Person p : list){ System.out.println(p); } } }
実行結果:
以上は、編集者が皆さんに紹介するmybatisフレームワークの初級学習チュートリアルです。皆さんに役立つことを願っています。何かご不明な点があれば、コメントを残してください。編集者は迅速に回答します。また、呐喊チュートリアルサイトへのサポートに感謝しています。
声明:この記事の内容はインターネットから取得しており、著作権者に帰属します。インターネットユーザーにより自発的に貢献し、自己でアップロードされています。当サイトは所有権を持ちません。また、人工的な編集は行われていません。著作権侵害が疑われる内容があれば、メールでnotice#wまでお知らせください。3codebox.com(メール送信時は、#を@に変更してください。報告を行い、関連する証拠を提供してください。一旦確認が取れましたら、当サイトは直ちに侵害疑いのコンテンツを削除します。)