MyBatisの紹介
Mybatisの前任者はIbatisでした。これはもともとApacheのオープンソースプロジェクトでした。 2010年、このプロジェクトはApache Software FoundationからGoogleコードに移動し、MyBatisと改名されました。
MyBatisは、プレーンSQLクエリ、ストアドプロシージャ、高度なマッピングをサポートする優れた永続レイヤーフレームワークです。 MyBatisは、ほぼすべてのJDBCコードとパラメーターの手動設定と結果セットの取得を排除します。 MyBatisは、構成および元のマッピング、マッピングインターフェイス、JavaのPojo(古いJavaオブジェクト、通常のJavaオブジェクトを計画)にデータベース内のレコードに使用するために、簡単なXMLまたはアノテーションを使用します。
MyBatis環境の建設については、次の手順が紹介されています。
1)プロジェクトの下にMyBatis-3.4.1.Jarパッケージを紹介し、データベース(MySQL、MSSQL ..)パッケージを導入します。
2)SRCの下で新しい構成ファイルconf.xmlを作成します
<?xml version = "1.0" encoding = "utf-8"?> <!doctype構成public " - // mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd" Resource = "JDBC.Properties" /> <! - mybatis操作環境を構成 - > <環境デフォルト= "development"> <環境id = "development"> <! - type = "jdbc"は、JDBCのコミットとロールバックの使用を表してトランザクションを管理することを表します - > <トランザクションマネージャータイプ= "jdbc" /> <!プールされた、未処理のJNDI - > <! - プールされたプールされたプールされたデータソース接続プールのサポート - > <! - 未処理はデータソース接続プールをサポートしないことを示します。 />> <プロパティ名= "username" value = "$ {username}"/> <property name = "password" value = "$ {password}"/> </dataSource> </environment> </ention> <mappers> <mapper = "usermapper.xml"/>> </mappers> </confyuration> <ここでは、データベースストレージ情報は外部構成ファイルを介して保存されるため、jdbc.propertiesデータベースストレージ情報が追加されます。
driver = com.microsoft.sqlserver.jdbc.sqlserverdriverurl = jdbc:sqlserver://127.0.0.1; databasename = testUsername = sapassword = 123456
3)マッピングファイル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 id = "queryusers" resulttype = "hw.com.pojo.user"> select * from ms_user </select> <selectid = "queryuserbyid" resulttype = "hw.com.pojo.user" parametertype = "int"> select * ms_user where where id} {id} </select> </mapep(このインスタンスはインターフェイスを介してマッピングされているため、名前空間属性はインターフェイスのパスとして記述する必要があるため、名前空間属性はあることに注意する必要があります)。
4)マッピングインターフェイスクラスを作成します
パッケージhw.com.ser; import java.util.list; import hw.com.pojo.user; public interface iuser {public list <user> queryusers();パブリックユーザーQueryUserByID(int id);}5)SQLSessionFactoryを作成します
パッケージhw.com.util; import java.io.ioexception; Import java.io.inputStream; Import java.io.inputStreamReader; Import java.io.io.reader; Import java.util.properties; import org.apache.ibatis.io.io.isources; Import org.apach.sibatis.session.sclsessions; org.apache.ibatis.session.sqlsessionfactory; Import org.apache.ibatis.session.ssessionFactoryBuilder; public class sqlsessionfactutil {private static sqlsessionfactory sqlsessionfactory = null; Private static final class class_lock = sqlsessionfactutil.class; private sqlsessionfactutil(){} public static sqlsessionfactory initsqlsessionfactory(){string resource = "conf.xml"; inputstream inputstream = null; try {inputstream = resources.getResourceasStream(resource); } catch(ioexception e){e.printstacktrace(); } synchronized(class_lock){if(sqlsessionfactory == null){sqlsessionfactory = new sqlsessionfactoryBuilder()。build(inputstream); }} return sqlsessionFactory; } public static sqlsession opensqlsession(){if(sqlsessionfactory == null){initsqlsessionfactory(); } return sqlsessionfactory.opensession(); }}6)Pojoを作成します
パッケージhw.com.pojo;インポートjava.util.date; public class user {private string id;プライベート文字列ユーザー名; private string userpwd; private int deptmentid; Private String usertruename;プライベート文字列メール; private int LearnCenterid;プライベートデート作成型;プライベートデートlastModifyDate; private int userStatus; public user(){super(); // TODO自動生成コンストラクタースタブ} public String getId(){return id; } public void setid(string id){id = id; } public string getUsername(){return username; } public void setUsername(string username){username = username; } public string getUserpwd(){return userpwd; } public void setuserpwd(string userpwd){userpwd = userpwd; } public int getDeptmentId(){return deptmentid; } public void setDeptmentId(int dependmentId){deptmentId = dependmentId; } public string getUsertruename(){return usertruename; } public void setusertruename(string usertruename){usertruename = usertruename; } public string getemail(){return email; } public void setemail(string email){email = email; } public int getLearNCenterID(){return LearnCenterID; } public void setLearNCenterID(int LearnCenterID){LearnCenterID = LearnCenterID; } public date getCreateDate(){return createdate; } public void setCreateDate(date recutedate){createdate = createdate; } public date getLastModifyDate(){return lastModifyDate; } public void setLastModifyDate(日付lastModifyDate){lastModifyDate = lastModifyDate; } public int getUserstatus(){return userstatus; } public void setuserstatus(int userstatus){userstatus = userstatus; } @Override public String toString(){return "user [id =" + id + "、username =" + username + "、userpwd =" + userpwd + "、deptmentid =" + deptmentid + "、usertruename =" + usertruename + "、email =" + " + emacterid =" + " + lastModifyDate = " + lastModifyDate +"、usersTatus = " + userStatus +"] "; }}7)メインメソッドの下でテストを行います
パッケージhw.com.day1.main; import java.util.list; import org.apache.ibatis.session.sqlsession; import hw.com.pojo.user; Import hw.com.ser.iuser; Import hw.com.util.squlsessionfactutil; public void main(String boid args) sqlsession = null; try {sqlsession = sqlsessionfactutil.opensqlsession(); iuser iuser = sqlsession.getMapper(iuser.class);リスト<ユーザー> users = iuser.queryusers(); if(users.size()> 0){for(user user:users){system.out.println(user.tostring()); }}} catch(例外e){e.printstacktrace(); }}}