準備
新しいJavaプロジェクトまたはJava WWEBプロジェクトを作成するには、次のパッケージをインポートする必要があります。
基本的な作業が完了した後、トピックに到達し始めます。
新しいエンティティクラスを作成します
データベーステーブルに対応する新しいエンティティクラスを作成する
パッケージcom.edu.hpu.domain; /***@author Administrator*ユーザーテーブルに対応するエンティティクラス*/publicクラスユーザー{//エンティティクラスの属性とテーブルのフィールド名はプライベートインター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 getage(){return age; } public void Setage(int age){this.age = age; } // toString method @override public string toString(){return "user [id =" + id + "、name =" + name + "、age =" + age + "]"; }}MyBatisツールクラスを追加します
以下に示すように追加されたツールクラス、
パッケージcom.edu.hpu.util; java.io.inputStreamをインポートします。 Import org.apache.ibatis.session.sqlsession; Import org.apache.ibatis.session.sqlsessionfactory; Import org.apache.ibatis.session.sqlsessionfactory; Import org.apache.ibatis.session.sqlsessionfactoryBuilder;パブリッククラスmybatisutil {/** * get sqlsessionfactory * @return sqlsessionfactory */public static sqlsessionfactory getsqlsessionfactory(){string resource = "conf.xml"; // configuration file inputstream is is = mybatisutil.classorem(getResourmer(); sqlSessionFactory Factory = new SQLSessionFactoryBuilder()。build(is);ファクトリーを返します。 } / ** * get sqlsession * @return sqlsession * / public static sqlsession getsqlsession(){return getsqlsessionfactory()。opensession(); } /** * get sqlsession * @param isautocommit * trueは、作成されたsqlsessionオブジェクトがsqlが実行された後にトランザクションを自動的に送信することを意味します * falseは、作成されたsqlsessionオブジェクトがSQLが実行された後に自動的にトランザクションを送信しないことを意味します。この時点で、sqlsession.commit()を手動で呼び出してトランザクション * @return sqlsession */ public static sqlsession getsqlsession(boolean isoutocommit){return getsqlsessionfactory().opensession(isautocommit); }}MyBatisを使用してデータを追加、削除、検索、および変更する方法、つまり構成ファイル操作と注釈操作を使用して2つの方法があります。
構成ファイルを介した操作
データベース構成ファイルは次のとおりです。データベース情報を構成します。
<?xml version = "1.0" encoding = "utf-8"?> <!doctype構成public " - // mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-clufig.dtd" type = "jdbc" /> <! - データベース接続情報を構成 - > <dataSource Type = "pooled"> <プロパティ名= "ドライバー" value = "com.mysql.jdbc.driver" /> <プロパティ名= "url" value = "jdbc:mysql:// localhost:3306/test?useunicode = true&charaterencoding = utf-8&zerodatetimebehavior = converttonull"/> <プロパティ名= "username" value = "root"/> <プロパティ名= "パスワード" = " usermapper.xmlファイル、usermapper.xmlはパッケージcom.edu.hpu.mappingにあるため、リソースはcom/edu/hpu/mapping/usermapper.xml-> <mapperリソース= "com/edu/hpu/mapping/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" <! - selectタグでsquer sqlステートメントを書き込み、selectタグのID属性をgetUserに設定します。 ID属性値は一意でなければなりません。パラメータ型属性を再利用して、クエリで使用されるパラメータータイプを示すことはできません。 resultType属性は、query resulttype = "com.edu.domain.user"によって返される結果セットタイプを示します。クエリ結果がユーザークラスのオブジェクトにカプセル化され、ユーザーテーブルに対応するエンティティクラスに戻ることを意味します。 resultType = "com.edu.hpu.domain.user"> select * from user from id =#{id} </select> <! - create user(create) - > <id = "addUser" parametertype = " - > <delete id = "deleteuser" parametertype = "int">ユーザーからの削除id =#{id} </delete> <! - user(update) - > <update id = "updateuser" parametertype = "com.edu.hpu.domain.user"> uptersed nepate =#{nage =#{age nepate> {ager <! - すべてのユーザーのクエリ - > <id = "getallusers" resultType = "com.edu.domain.user"> select * fromユーザー</select> </mapper>構成ファイルを介したデータベースの追加、削除、および改訂は基本的に完了しました。次に、テストクラスが与えられます。
以下に示すように、テストを実行できます。
パッケージcom.edu.hpu.test; java.util.listをインポートします。 com.edu.hpu.domain.userをインポートします。 com.edu.hpu.util.mybatisutilをインポートします。 Import org.junit.test; Import org.apache.ibatis.session.sqlsession; public class test2 {@test public void testadd(){// sqlsession sqlsession = mybatisutil.getsqlsession(false); sqlsession sqlsession = mybatisutil.getsqlsession(true); / ** *マップSQL識別文字列、 * com.edu.hpu.mapping.usermapperは、usermapper.xmlファイルのマッパータグの名前空間属性の値です。 "com.edu.hpu.mapping.usermapper.adduser"; //マップsql識別文字列ユーザー= new user(); user.setName( "新しいユーザーxiaohuang"); user.setage(20); //挿入操作int retresult = sqlsession.insert(statement、user); //手動でトランザクションを送信する// sqlsession.commit(); // sqlsession sqlsession.close()を使用してsqlを実行した後; System.out.println(RetResult); } @test public void testupdate(){sqlsession sqlsession = mybatisutil.getsqlsession(true); /** *マップSQL識別文字列、 * com.edu.hpu.mapping.usermapperは、usermapper.xmlファイルのマッパータグの名前空間属性の値です。実行するSQLは、更新タグのID属性値を介して見つけることができます */stringステートメント= "com.edu.hpu.mapping.usermapper.updateuser"; //マッピングSQL ID string user = new user(); user.setId(3); user.setName( "Hello World"); user.setage(25); //修正操作を実行するint retresult = sqlsession.update(statement、user); // sqlsessionでsqlを実行した後、sqlsession sqlsession.close()を閉じる必要があります。 System.out.println(RetResult); } @test public void testdelete(){sqlsession sqlsession = mybatisutil.getsqlsession(true); / ** *マップSQL識別文字列、 * com.edu.hpu.mapping.usermapperは、usermapper.xmlファイルのマッパータグの名前空間属性の値です。 "com.edu.hpu.mapping.usermapper.deleteuser"; // sqlの識別文字列のマッピング// sqlsession sqlsession.close()を使用してsqlを実行した後; System.out.println(RetResult); } @test public void testgetall(){sqlsession sqlsession = mybatisutil.getsqlsession(); /** * SQLの識別文字列のマッピング * com.edu.hpu.mapping.usermapperは、usermapper.xmlファイルのマッパータグの名前空間属性の値です。 * GetAllusersは、SelectタグのID属性値です。実行されるSQLは、select tag */stringステートメント= "com.edu.hpu.usermapper.getallusers"のid属性値を介して見つけることができます。 // sqlsessionでsqlを実行した後、sqlsession sqlsession.close()を閉じる必要があります。 system.out.println(lstusers); }}注釈による操作
注釈による操作には、インターフェイスを書く必要がありますが、以下に示すように実装する必要はありません。
パッケージcom.edu.hpu.mapping; java.util.listをインポートします。 com.edu.hpu.domain.userをインポートします。 org.apache.ibatis.annotations.deleteをインポートします。 org.apache.ibatis.annotations.insertをインポートします。 org.apache.ibatis.annotations.selectをインポートします。 org.apache.ibatis.annotations.updateをインポートします。 /** * @author gacl * SQLマッピングのインターフェイスを定義し、アノテーションを使用して実行するSQLを指定します// @delete Annotationを使用して、deletebyidメソッド@delete( "delete from users where id =#{id}")で実行するSQLを指定します。 // @Updateアノテーションを使用して、更新方法で実行するSQLを指定します@Update( "Update users set name =#{name}、age =#{age}ここで、id =#{id}")public int update(user user); // @SeLect Annotationを使用してSQLを指定してGetByIDメソッド@SELECT( "Select * from Users where id =#{id}")public user getByid(int id); // @SeLect Annotationを使用してSQLを指定してGetAll Method @Select( "Select * from Users")public List <user> getall(); }同時に、書かれたインターフェイスをデータベース構成ファイルに追加し、conf.xmlに次のステートメントを追加する必要があります。
<mapper/>
わかりました、それは基本的に完成しました、ここにテストできるテストクラスがあります。
パッケージcom.edu.hpu.test; java.util.listをインポートします。 com.edu.hpu.domain.userをインポートします。 com.edu.hpu.mapping.usermapper_11をインポートします。 com.edu.hpu.util.mybatisutilをインポートします。 Import org.apache.ibatis.session.sqlsession; Import org.junit.test; / ***@author Administrator*test annotation*/ public class test3 {@test public void testadd(){sqlsession sqlsession = mybatisutil.getsqlsession(true); // usermapperインターフェイスの実装クラスオブジェクトを取得します。 UserMapperインターフェイスの実装クラスオブジェクトは、sqlsession.getMapper(usermapper.class)によって動的に構築されます。 usermapper_11 mapper = sqlsession.getMapper(usermapper_11.class); user user = new user(); user.setname( "偉大な知恵は愚かです"); user.setage(20); int add = mapper.add(user); // sqlsession sqlsession.close()でsqlを実行した後、sqlsessionを閉じる必要があります。 System.out.println(add); } @test public void testupdate(){sqlsession sqlsession = mybatisutil.getsqlsession(true); // usermapperインターフェイスの実装クラスオブジェクトを取得します。 UserMapperインターフェイスの実装クラスオブジェクトは、sqlsession.getMapper(usermapper.class)usermapper_11 mapper = sqlsession.getMapper(usermapper_11.class)によって動的に構築されます。 user user = new user(); user.setId(3); user.setName( "Big Sound and Sound"); user.setage(26); //修正操作を実行int retresult = mapper.update(user); // sqlsessionを使用してsqlを実行した後、sqlsession sqlsession.close()を閉じる必要があります。 System.out.println(RetResult); } @test public void testdelete(){sqlsession sqlsession = mybatisutil.getsqlsession(true); // usermapperインターフェイスの実装クラスオブジェクトを取得すると、usermapperインターフェイスの実装クラスオブジェクトは、sqlsession.getMapper(usermapper.class)usermapper_11 mapper = sqlsession.getMapper(usermapper_11.class)によって動的に構築されます。 //削除操作を実行int retresult = mapper.deletebyid(7); // sqlsessionを使用してsqlを実行した後、sqlsession sqlsession.close()を閉じる必要があります。 System.out.println(RetResult); } @test public void testgetuser(){sqlsession sqlsession = mybatisutil.getsqlsession(); // usermapperインターフェイスの実装クラスオブジェクトを取得します。 usermapperiインターフェイスの実装クラスオブジェクトは、sqlsession.getMapper(usermapper.class)usermapper_11 mapper = sqlsession.getMapper(usermapper_11.class)によって動的に構築されます。 //クエリ操作を実行し、クエリ結果をユーザーreturnユーザー= mapper.getById(1)に自動的にカプセル化する; // sqlsessionを使用してsqlを実行した後、sqlsession sqlsession.close()を閉じる必要があります。 System.out.println(user); } @test public void testgetall(){sqlsession sqlsession = mybatisutil.getsqlsession(); // usermapperインターフェイスの実装クラスオブジェクトを取得します。 UserMapperインターフェイスの実装クラスオブジェクトは、sqlsession.getMapper(usermapper.class)usermapper_11 mapper = sqlsession.getMapper(usermapper_11.class)によって動的に構築されます。 //クエリ操作を実行し、クエリの結果をリスト<user> return list <user> lstusers = mapper.getall()に自動的にカプセル化します。 // sqlsession実行sqlを使用した後、sqlsession sqlsession.close()を閉じる必要があります。 system.out.println(lstusers); }}上記は、編集者が紹介したデータの追加、削除、および修正のMyBatis実装の詳細な説明です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!