مقدمة إلى MyBatis
كان سلف Mybatis هو Ibatis ، الذي كان في الأصل مشروعًا مفتوحًا من Apache. في عام 2010 ، تم نقل هذا المشروع من مؤسسة Apache Software Foundation إلى Google Code وتم إعادة تسمية MyBatis.
MyBatis هو إطار طبقة استمرار ممتازة يدعم استعلامات SQL العادية والإجراءات المخزنة ورسم الخرائط المتقدمة. يزيل MyBatis الإعداد اليدوي لجميع كود ومعلمات JDBC تقريبًا واسترجاع مجموعات النتائج. يستخدم MyBatis XML البسيط أو التعليقات التوضيحية للتكوين والتعيين الأصلي ، ورسم الخرائط وواجهات Java (خطة كائنات Java القديمة ، وكائنات Java العادية) في سجلات في قاعدة البيانات.
يتم تقديم الخطوات التالية إلى بناء بيئة MyBatis.
1) تقديم حزمة MyBatis-33.4.1.JAR ضمن المشروع ، ثم قدم حزمة قاعدة البيانات (MySQL ، MSSQL ..).
2) إنشاء ملف تكوين جديد conf.xml تحت SRC
<؟ Resource = "jdbc.properties" /> <!-تكوين بيئة تشغيل myBatis-> <البيئات default = "development"> <البيئة id = "development"> <! يشير مجمع ، jndi-> <!-المجمع إلى دعم تجمع اتصال مصدر بيانات JDBC-> <!-يشير Unpooled إلى عدم دعم تجمع اتصال مصدر البيانات-> <!-يشير JNDI value = "$ {url}"/> <property name = "username" value = "$ {username}"/> <property name = "password" value = "$ {password}"/> </dataSource> </environments>هنا ، يتم تخزين معلومات تخزين قاعدة البيانات من خلال ملفات التكوين الخارجية ، لذلك تتم إضافة معلومات تخزين قاعدة بيانات JDBC.Properties.
driver = com.microsoft.sqlserver.jdbc.sqlserverdriverurl = jdbc: sqlserver: //127.0.0.1 ؛ databasename = testusername = sapassword = 123456
3) إنشاء ملف تعيين usermapper.xml
<؟ المستخدمين-> <حدد ID = "QueryUsers" resultType = "hw.com.pojo.user"> حدد * من ms_user </select> <evelop = "queryUserById" resulttype = "hw.com.pojo
(تجدر الإشارة هنا إلى أن سمة مساحة الاسم هي ، لأن هذا المثيل يتم تعيينه من خلال واجهات ، لذلك يجب كتابة سمة مساحة الاسم على أنها مسار الواجهة) الشكل المرفق:
4) إنشاء فئة واجهة رسم الخرائط
package hw.com.ser ؛ import java.util.list ؛ import hw.com.pojo.user ؛ public interface iuser {public list <Sether> QueryUsers () ؛ QueryUserById المستخدم العام (int) ؛}5) إنشاء sqlsessionfactory
package hw.com.util ؛ import java.io.ioException ؛ import java.io.inputstream ؛ import java.io.inputStreamReader ؛ import java.io.reader ؛ import java.util.properties ؛ import org.apache.ibatis.io.resources ؛ importing org.ibatisent.session.sqls org.apache.ibatis.session.sqlsessionfactory ؛ import org.apache.ibatis.session.sqlsessionfactorybuilder ؛ public sqlsessionfactoryutil {private static sqlsessionfactory sqlsessionfactory = null ؛ static static final class_lock = sqlsessionfactoryutil.class ؛ sqlsessionfactoryutil () {} static sqlsessionfactory initsqlsessionfactory () {string resource = "conf.xml" ؛ inputStream inputStream = null ؛ حاول {inputStream = Resources.getResourCeasStream (Resource) ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } synchronized (class_lock) {if (sqlsessionfactory == null) {sqlSessionFactory = new SqlSessionFactoryBuilder (). build (inputStream) ؛ }} return sqlsessionfactory ؛ } sqlsession static static epensqlsession () {if (sqlsessionfactory == null) {initsqlsessionfactory () ؛ } إرجاع sqlsessionfactory.opensession () ؛ }}6) إنشاء pojo
Package hw.com.pojo ؛ استيراد java.util.date ؛ مستخدم الفئة العامة {private string id ؛ اسم المستخدم الخاص بالسلسلة الخاصة ؛ سلسلة خاصة userPWD ؛ int int deptmentid ؛ سلسلة خاصة usertruename ؛ البريد الإلكتروني الخاص بالسلسلة الخاصة ؛ int private LearnCenterid ؛ تاريخ خاص تم إنشاؤه ؛ تاريخ خاص LastModifyDate ؛ خاص int Userstatus ؛ المستخدم العام () {super () ؛ // TODO AUTO CONTRUCTOR CONTRUCTOR} السلسلة العامة getID () {return id ؛ } public void setId (string id) {id = id ؛ } السلسلة العامة getUserName () {return username ؛ } public void setusername (string username) {username = username ؛ } السلسلة العامة getUserPwd () {return userPwd ؛ } public void setUserPWD (String userPwd) {userPwd = userPwd ؛ } public int getDeptmentId () {return deptmentId ؛ } public void setDeptmentId (int dependmentId) {dePtmentId = deperMentId ؛ } السلسلة العامة getUserTruEname () {return userTruEname ؛ } public void setUserTruEname (String userTruEname) {userTruEname = userTruEname ؛ } السلسلة العامة getEmail () {return email ؛ } setemail public void (سلسلة البريد الإلكتروني) {email = email ؛ } public int getLeArnCenterId () {return learncenterid ؛ } public void setLeArnCenterId (int enlowCenterid) {LearnCenterId = LearnCenterid ؛ } التاريخ العام getCreatedAte () {return createdAte ؛ } public void setCreatedAte (date createTate) {createTate = createTate ؛ } التاريخ العام getLastModifyDate () {return lastModifyDate ؛ } public void setLastModifyDate (Date 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 =" email + " MastModifyDate = " + lastModifyDate +" ، UserStatus = " + UserStatus +"] "؛ }}7) قم بإجراء الاختبار تحت الطريقة الرئيسية
package hw.com.day1.main ؛ استيراد java.util.list ؛ استيراد org.apache.ibatis.session.sqlsession ؛ استيراد hw.com.pojo.user ؛ استيراد hw.com.ser.iuser sqlsession = فارغة ؛ حاول {sqlsession = sqlsessionfactoryutil.opensqlsession () ؛ iuser iuser = sqlsession.getMapper (iuser.class) ؛ قائمة <Sether> المستخدمين = iuser.queryusers () ؛ if (users.size ()> 0) {for (user user: user) {system.out.println (user.toString ()) ؛ }}} catch (استثناء e) {E.PrintStackTrace () ؛ }}}