MyBatisの紹介:
MyBatisはApacheのオープンソースプロジェクトです。 2010年、このプロジェクトはApache Software FoundationからGoogleコードに移動し、MyBatisと改名されました。 2013年11月にGithubに移住しました。
MyBatisは、カスタマイズされたSQL、ストアドプロシージャ、および高度なマッピングをサポートする優れた永続レイヤーフレームワークです。 MyBatisは、ほぼすべてのJDBCコードを回避し、パラメーターを手動で設定し、結果セットを取得します。 MyBatisは、単純なXMLまたはアノテーションを使用して、ネイティブ情報を構成およびマッピングし、インターフェイスとJava Pojos(プレーンオールドJavaオブジェクト)をデータベースのレコードにマッピングできます。
1。mybatisの機能:
簡単に言えば、MyBatisはXMLファイルを介してSQLを構成し、MapsをPOに構成するDAOレイヤーを実装します。
2。準備する必要がある引用パッケージ
MyBatis-3.2.8.jar:MyBatisフレームワークが使用されます
ojdbc6.jar:データベース接続
mybatis環境の構成(ここにmybatisの個別の構成です):
最初:MyBatis JARパッケージのダウンロードとインポート
v3.4.5のダウンロードアドレスは次のとおりです。
http://xiazai.vevb.com/201712/yuanma/mybatis-3.4.5.rar
バージョン3.4.5を使用したくないが、住所を忘れた場合は、Github.com:MyBatisの公式Webサイトで直接検索できます
検索結果は図に示されています。
この時点で最新のダウンロードをクリックし、ダウンロードするバージョンを選択します。
ダウンロードされた圧縮パッケージを解凍し、すべてのMyBatis-3.4.5.jarとjarをlibフォルダーにインポートします。もちろん、現時点では、MySQLドライバーのJARパッケージをMySQL-Connector-Java-5.1.44.jarにインポートする必要もあります。
ここではMavenを使用しなかったため、すべての瓶を手動でインポートしたため、次の構成は必要ありません。
<Dependency> <groupId> org.mybatis </groupId> <artifactid> mybatis </artifactid> <version> 3.4.5 </version> </dependency>
2。構成ファイルの書き込み
独自のプロジェクトでソースフォルダーを作成し、独自の構成ドキュメントを保存してsqlmappersconfig.xmlを作成し、次の構成(公式の公式構成で、公式構成を独自に変更します)をコピーします。
<?xml version = "1.0" encoding = "utf-8"?> <!doctype configurationpublic " - // mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd type = "jdbc"/> <dataSource Type = "Pooled"> <プロパティ名= "driver" value = "$ {driver}"/> <property name = "url" value = "$ {url}"/> <プロパティ名= "username" value = "$ {username}"/> <property name = "$" $ "$" "$" $ "$"/</</</</datas> </環境> <マッパーズ> <マッパーリソース= "org/mybatis/example/blogmapper.xml"/> </mappers> </configuration>sqlconnect.propertiesの構成は次のとおりです。
sqldriver:com.mysql.jbdc.driversqlurl:mysql:jbdc://172.20.60.2/spectergk?useunicode = true&charaterencoding = utf8sqlusername:testsqluserpwd:111111
これまでに、構成する必要がある構成の基本的な構成を完了しましたが、これは構成、テストコードの構成にすぎません。
public void functionTest(){//system.out.println("start mybatis "); inputstream inputstream = null; try {<br data-filtered = "filtered"> inputstream = resources.getResourceasStream( "sqlmapconfig.xml"); } catch(ioException e){// todo auto-fenated catch block e.printstacktrace(); } /** Factoryを作成* / sqlsessionFactory sqlsessionFactory = new SQLSessionFactoryBuilder()。 / * * open ssion */ sqlsession sqlsession = sqlsessionfactory.opensession(); System.out.println(sqlsession); sqlsession.close(); try {inputstream.close(); } catch(ioException e){// todo auto-fenated catch block e.printstacktrace(); }}この時点で、印刷は、私たちがそれを正常に構成したことを証明する値であり、残りにマッパーを設定できます。
2番目:MyBatis Mapperは動的プロキシを使用できるため、マッパーの作成と使用が行われ、ここではダイナミックプロキシを直接使用できます。
Pojoパッケージで作成します:
user.java
Mappersパッケージを作成します:
usermapper.java
sqlmappersconfig.xmlと同じディレクトリで作成します。
user.xml
sqlmappersconfig.xmlで次のコードを構成します。
<! - 以下はエイリアスcom.spectergk.mybatis.pojo.userのパッケージ名です。 resource = "user.xml"/> </mappers>
データベースの簡単な追加、削除、変更、および検索を実装します。特定の実装は次のとおりです。
user.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"> Dynamic Proxy-> <Mapper namespace = "com.spectergk.mybatis.mappers.usermapper"> <! - ここで構成された戻り値はユーザーです。ユーザーが渡す値はパラメータ型です - > <select id = "selectuserbyid" resultType = "user" parametertype = "string"> select * use =#{v} </select> <! - ユーザーのユーザー名に基づくファジークエリ「%」のように#{v} "%"; </select> <! - データベースにデータを挿入します - > <id = "insertounuser" parametertype = "user">ユーザー(uid、username、realname、realname、mobile、mainpid、sex)values(#{uid}、#{username}、#{realname}、#{mobile}、{mobile}、{mainpid}、 </INSERT> <! - データを挿入して返す自動化されたUID-> <ID = "InsertOneUSERGETID" parameterType = "user"> <selectkey keyproperty = "uid" keycolumn = "uid" resulttype = "string" order = " values(#{username}、#{realname}、#{mobile}、#{mainpid}、#{sex}); </INSERT> <! - リストに挿入されます - > <ID = "Insetusers"> inserting Intoユーザー(UID、ユーザー名、REALNAME、MOBILE、MAINPID、SEX)値(#{item.uid}、#{item.username}、#{item.realname}、#{item.mobile}、#{item.mainpid}、#{item.sex})</foreach> </insert> <!-配列として挿入-> user(uid、username、realname、mobile、mainpid、sex)values <foreach collection = "array" item "item" separator = "、">(#{item.uid}、#{item.realname}、#{item.mobile}、#{item.mainpid> </insert> <! - Update user-> <update id = "updateUser" parametertype = "user">ユーザーセットusername =#{username} uid =#{uid} </update} </delete> <! - > <delete id = "deleteoneuser" parametertype = "string" id = "deletemoreusers"> uid in(<foreach collection = "list" item = "item" separator = "、">#{item} </foreach>)</delete> </mapper>動的にロードされているため、ここにインターフェイスを書くだけです。
パッケージcom.spectergk.mybatis.mappers; import java.util.list; import com.spectergk.mybatis.pojo.user; public interface usermapper { / * *ユーザーID * / publicユーザーSelectususerbyid(String ID); / * *ユーザー名に基づくファジークエリ/**ユーザーを挿入*/ public void InsertOneUser(ユーザーユーザー); / * *ユーザーを挿入し、挿入されたユーザーのIDを返します */ public void insertuneusergetid(ユーザーユーザー); /**複数のユーザーを挿入*/ public void insertusers(list <user> users); / * * ARRAYを送信する複数のユーザーを挿入 */ public void insertuserSarray(user [] users); /** UpdateUser Update*/ public void updateUser(ユーザーユーザー); / * * 1つを削除 */ public void deleteoneuser(string uid); / * * deletemoreusers複数の削除 */ public void deletemoreusers(list <string> uids);}テストコードのため、ファジーテストコードのみがここに記述されています。
// public void fuzzysearch(){system.out.println( "MyBatisを開始"); inputstream inputstream = null; try {inputstream = resources.getResourceasStream( "sqlmapconfig.xml"); } catch(ioException e){// todo auto-fenated catch block e.printstacktrace(); } /** Factoryを作成* / this.sqlsessionFactory = new sqlsessionFactoryBuilder()。build(inputstream); / * * open ssion */ sqlsession sqlsession = this.sqlsessionfactory.opensession(); System.out.println(sqlsession); usermapper usermapper = sqlsession.getMapper(usermapper.class);リスト<ユーザー>ユーザー= usermapper.seerectusersbyusername( "liu"); for(user user:user){system.out.println(user); } sqlsession.close(); }要約します
上記は、編集者が紹介したMyBatis環境の構築と使用の例です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!