MyBatisとは何ですか?
MyBatisは、プレーンSQLクエリ、ストアドプロシージャ、高度なマッピングをサポートする優れた永続レイヤーフレームワークです。 MyBatisは、ほぼすべてのJDBCコードとパラメーターの手動設定を排除し、結果セットを検索します。 MyBatisは、構成に単純なXMLまたはアノテーションを使用して、インターフェイスとJavaのPOJO(プレーン古いJavaオブジェクト)をデータベースのレコードにマッピングするためのオリジナルマッピングを使用できます。
mybatisダウンロード:https://github.com/mybatis/mybatis-3/releases
MyBatisインスタンス
ユーザーテーブルでのCRUD操作:
ユーザーテーブル:
- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------エンジン= innodb auto_increment = 6デフォルトcharset = utf8; - ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- place '); `user` values(' 4 '、' lu '、' 28 '、' some place ')への挿入(' 5 '、' xiaoxun '、' 27 '、' nanjing ');
MyBatis XML Configurationファイルconfiguration.xmlをSRCディレクトリに作成します
<?xml version = "1.0" encoding = "utf-8"?> <!doctype構成public " - // mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-crofig.dtd" Alias = "user" type = "com.mybatis.test.user"/> </typealiase> <環境デフォルト= "development"> <環境id = "development"> <transactionmanager type = "jdbc"/> <datasourceタイプ= "プールされた"> <プロパティ名= "ドライバー" value = "com.mysql.jdbc.driver" value = "jdbc:mysql://127.0.0.1:3306/mybatis"/> <プロパティ名= "username" value = "root"/> <プロパティ名= "value =" admin "/> </dataSource> </環境> </環境> <! resource = "com/mybatis/test/user.xml"/> </mappers> </configuration>
ユーザーマッパーの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 Selectステートメント - > <id = "selectuserbyid" parametertype = "int" resultType = "user"> select * from `users" where user.id =#{id} </select> <! - 一貫性のないプロパティ名の問題とデータベース列名の問題を解決できます。 column = "user_id" /> <resultプロパティ= "username" column = "user_username" /> <respurentプロパティ= "userage" column = "user_userage" /> <respurentプロパティ= "useraddress" column = "user_useraddress" /> < /resultmap> - > <! id = "SelectUsersByName" parameterType = "string" resultmap = "userresultmap"> select * user.username =#{username} </select> - > <selectusersbyname "parametertype =" string "resulttype =" user "ユーザー。操作の増加。 IDとパラメータ型は、iUSEROPERATIONインターフェイスのADDUSERメソッドの名前とパラメータータイプと同じです。 「true」に設定されたUseGeneratedKeysは、MyBatisがデータベースによって自動的に生成されたプライマリキーを取得したいことを示しています。 KeyProperty = "ID"は、取得したプライマリキー値をユーザーのIDプロパティに注入する指定 - > <ID = "adduser" parametertype = "usegeneratedkeys =" true "keyproperty =" id ">ユーザー(username、userage、useraddress)値(#{username}、#{username}、#{username}、#{username})に挿入します<update id = "updateUser" parametertype = "user"> Update users set username =#{username}、userage = {userage}、useraddress =#{userAddress} </update> <delete id = "deleteerser" parametertype = "> delete of>構成ファイルは、インターフェイスとSQLステートメント間のマッピング関係を実装します。 SelectusersBynameは2つの方法を使用して実装しています。コメントアウトも実装です。 ResultMapを使用すると、属性とデータベース列名の間のマッピング関係を定義できます。プロパティはクラスのプロパティ、列はテーブルの列名であるか、テーブル列名のエイリアスにすることができます!
ユーザークラスの定義:
パッケージcom.mybatis.test; public class user {private int id;プライベート文字列ユーザー名;プライベートINTユーザー。 Private String usersddress; public int getid(){return id; } public void setid(int id){this.id = id; } public string getUsername(){return username; } public void setUsername(string username){this.username = username; } public int getUserage(){return userage; } public void setUserage(int userage){this.userage = userage; } public String getUserAddress(){return userAddress; } public void setUserAddress(String useraddress){this.userAddress = userAddress; } @Override public String toString(){return this.username+""+this.userage+""+this.userAddress; }}iuseroperaton定義:
パッケージcom.mybatis.test; import java.util.list; public interface iuseroperation {public user selectuserbyid(int id); public List <user> selectusersbyname(string username); public void adduser(ユーザーユーザー); public void updateUser(ユーザーユーザー); public void deleteuser(int id); }iuseroperationは、mybatisのxml構成ファイルの操作インターフェイス、関数名、および操作ID名に対応します。
テストクラステスト:
パッケージcom.mybatis.test; import java.io.reader; import java.util.list; import org.apache.ibatis.io.io.resources; Import org.apache.ibatis.session.squlsessess; import org.apache.ibatis.session.ssession.ssessionfactory; import inmolg.apach.ibatis. org.apache.ibatis.session.sqlsessionfactorybuilder; public class test {private static sqlsessionfactory sqlsessionfactory;プライベート静的リーダーリーダー。 static {try {reader = resources.getResourceasReader( "configuration.xml"); sqlSessionFactory = new SQLSessionFactoryBuilder()。build(reader); } catch(Exception e){e.printstacktrace(); }} public static sqlsessionfactory getsession(){return sqlsessionfactory; } public void getUserbyId(int userId){sqlsession session = sqlsessionfactory.opensession(); try {iuseroperation useroperation = session .getMapper(iuseroperation.class); user user = useroperation.selectuserbyid(userid); if(user!= null){system.out.println(user.getId() + ":" + user.getusername() + ":" + user.getuserAddress()); }}最後に{session.close(); }} public void getUserList(string username){sqlsession session = sqlsessionfactory.opensession(); try {iuseroperation useroperation = session .getMapper(iuseroperation.class);リスト<ユーザー> users = useroperation.selectusersbyname(username); for(user user:user){system.out.println(user.getId() + ":" + user.getusername() + ":" + user.getuserAddress()); }}最後に{session.close(); }} / ** *追加後にコミット * / public void adduser(){user user = new user(); user.setuserAddress( "place"); user.setUsername( "test_add"); user.setUserage(30); sqlsession session = sqlsessionfactory.opensession(); try {iuseroperation useroperation = session .getMapper(iuseroperation.class); useroperation.adduser(user); session.commit(); System.out.println( "ユーザーIDの追加:" + user.getId()); }最後に{session.close(); }} / ** commit * / public void updateUser(){sqlsession session = sqlsessionfactory.opensession(); try {iuseroperation useroperation = session .getMapper(iuseroperation.class); user user = useroperation.selectuserbyid(1); if(user!= null){user.setuserAddress( "A New Place"); useroperation.updateuser(user); session.commit(); }}最後に{session.close(); }} /***削除後にコミットします。 * * @param id */ public void deleteuser(int id){sqlsession session = sqlsessionfactory.opensession(); try {iuseroperation useroperation = session .getMapper(iuseroperation.class); useroperation.deleteuser(id); session.commit(); }最後に{session.close(); }} public static void main(string [] args){try {test test = new test(); // test.getuserbyid(1); // test.getUserList( "test1"); // test.adduser(); // test.updateuser(); // test.deleteuser(6); } catch(Exception e){System.out.println(e.getMessage()); }}}コードダウンロード:mybaitssimpledemo_jb51.rar
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。