كان Mybatis سلفًا لـ Ibatis. إنه إطار طبقة ثبات البيانات (ORM). MyBatis هو إطار طبقة استمرار ممتازة يدعم استعلامات SQL العادية والإجراءات المخزنة ورسم الخرائط المتقدمة. يقوم MyBatis بإلغاء الإعدادات اليدوية لجميع كود JDBC والمعلمات تقريبًا والبحث عن مجموعات النتائج. يستخدم MyBatis XML البسيط أو التعليقات التوضيحية للتكوين والتعيين الأصلي ، ورسم الخرائط وواجهات Java (خطة كائنات Java القديمة ، وكائنات Java العادية) في سجلات في قاعدة البيانات. يستخدم كل تطبيق MyBatis بشكل أساسي مثيلات SQLSessionFactory ، ويمكن الحصول على مثيل SQLSessionFactory من خلال SQLSessionFactoryBuilder.
الرمز المحدد كما يلي:
<؟ alias = "good" type = "com.clark.model.goods"> < /typealias> </twarealiases> <البيئات default = "development"> <البيئة id = "development" value = "jdbc: oracle: thin:@172.30.0.125: 1521: oradb01"/> <property name = "username" value = "settlement"/> <property name = "password" value = "settlext </configuration> <؟ الاستعلام عن النموذج-goods-> <resultmap type = "com.clark.model.goods" id = "t_good"> <id column = "id" property = "id"/> <result column = "cate_id" property = "cateid"/> <result column = "name" propert column = "order_no" property = "orderno"/> <result column = "update_time" property = "updateTime"/> </resultmap> <!-إرجاع نوع البضائع بناءً على استعلام المعرف <typealias alias = "good" type = "com.clark.model.goods"> </typealias> <! parametertype = "int" resulttype = "goods"> حدد المعرف ، cate_id ، الاسم ، السعر ، الوصف ، order_no ، update_time من البضائع حيث id = #{id} </select> <!-استعلام عن جميع البضائع return resultmap type-> <select id = "selectallgoods </select> <!-حدد parametertype = خريطة حيث تكون الخريطة خريطة <سلسلة ، pagebean> map-> <select id = "selectgoodsbypage" resultmap = "t_good" parametertype = "map"> <!-order by id asc يشير إلى فرز النتائج بعد query في ترتيب الارتفاع-> <! 1 = 1 و rownum <= #{pagebean.endnumber}) حيث rn> = #{pageBean.StartNumber} بواسطة id asc]]> </select> <!-نوع المعلمة البضائع المضافة كبضائع-> <insert id = "insertgood" parametertype = "goods"> insert في البضائع ، القيم (#{id} ،#{cateid} ،#{name} ،#{price} ،#{description} ،#{orderno} ،#{updateim = #{orderno} حيث g.id = #{id} </update> <!-حذف نوع المعلمة البضائع هو int-> <delete id = "deletegood" parametertype = "int"> delete from g.id = #{id} </delete> </mapper> package com.clark.model ؛ استيراد java.util.date ؛ سلع الطبقة العامة {private integer id ؛ عدد صحيح خاص Categer ؛ اسم السلسلة الخاصة ؛ سعر مزدوج خاص ؛ وصف السلسلة الخاصة ؛ عدد صحيح خاص OrderNo ؛ تاريخ خاص updateTime ؛ السلع العامة () {} السلع العامة (معرف الصدفة ، integer cateid ، اسم السلسلة ، السعر المزدوج ، الوصف السلسلة ، integer orderno ، date updateTime) {super () ؛ this.id = id ؛ this.cateid = cateid ؛ this.name = name ؛ this.price = السعر ؛ this.description = الوصف ؛ this.orderno = orderno ؛ this.updateTime = updateTime ؛ } integer getId () {return id ؛ } public void setId (integer id) {this.id = id ؛ } integer getCateId () {return cateid ؛ } public void setCateId (integer cateid) {this.cateid = cateid ؛ } السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } public double getPrice () {return price ؛ } public void setPrice (price double) {this.price = price ؛ } السلسلة العامة getDescription () {return description ؛ } public void setDescription (وصف السلسلة) {this.description = description ؛ } integer getorderno () {return orderno ؛ } public void setorderno (integer orderno) {this.orderno = orderno ؛ } التاريخ العام getTimestamp () {return updateTime ؛ } public void setTimestamp (Date UpdateTime) {this.updateTime = updateTime ؛ } Override public string toString () {return "[command compern id ="+this.getID ()+"، name ="+this.getName ()+"، orderno ="+this.getorderno ()+"، cateid ="+that.getCateId ()+"، updateTime =" }} package com.clark.model ؛ . // end number integer endment integer. Public PageBean () {} Public PageBean (Integer StartNumber ، Integer Endnumber) {super () ؛ this.startNumber = startNumber ؛ this.endnumber = endnumber ؛ } integer public getStartNumber () {return startNumber ؛ } public void setStartNumber (integer startNumber) {this.startNumber = startNumber ؛ } عدد صحيح عام getendnumber () {return endnumber ؛ } public void setendnumber (integer endnumber) {this.endnumber = endnumber ؛ }} package com.clark.mybatis ؛ استيراد java.io.ioException ؛ استيراد java.io.reader ؛ استيراد java.util.hashmap ؛ استيراد java.util.list ؛ استيراد java.util.map ؛ استيراد org.apache.ibatis.io.resources ؛ استيراد org.apache.ibatis.session.sqlsession ؛ استيراد org.apache.ibatis.session.sqlsessionfactory ؛ استيراد org.apache.ibatis.session.sqlsessionfactorybuilder ؛ استيراد com.clark.model.goods ؛ استيراد com.clark.model.pagebean ؛ الفئة العامة testgoods {public static void main (string [] args) يلقي ioException {String Resource = "configuration.xml" ؛ قارئ القارئ = فارغ ؛ sqlsessionFactory SessionFactory = null ؛ جلسة SQLSession = فارغة ؛ Try {reader = resources.getResourCeasReader (Resource) ؛ SessionFactory = new SQLSessionFactoryBuilder (). build (reader) ؛ الجلسة = sessionfactory.opensession () ؛ PageBean PageBean = New PageBean (8 ، 20) ؛ خريطة <string ، pageBean> map = new hashmap <string ، pageBean> () ؛ map.put ("pageBean" ، pageBean) ؛ قائمة <Ember> gs = findgoodsbypage (الجلسة ، الخريطة) ؛ لـ (goods2: gs) {system.out.println (goods2.toString ()) ؛ }} catch (ioException e) {E.PrintStackTrace () ؛ } أخيرًا {session.close () ؛ reader.close () ؛ }} // Find by id public static goods findgoodbyid (SQLSession Session ، integer id) {// Clark يتوافق مع اسم مساحة الاسم = "Clark" في ملف تكوين GoodMapper.xml. البضائع البضائع = (البضائع) Session.Selectone ("Clark.SelectGoodbyid" ، id) ؛ إرجاع البضائع }. إرجاع البضائع } القائمة الثابتة العامة <EGELS> findgoodsbypage (جلسة SQLSession ، خريطة <سلسلة ، PageBean> MAP) {LIST <EGELS> Goods = Session.SelectList ("Clark.SelectGoodsBypage" ، MAP) ؛ إرجاع البضائع }. session.Commit () ؛ نتيجة العودة }. session.Commit () ؛ نتيجة العودة }. session.Commit () ؛ نتيجة العودة }}سوف أقدم لكم المعرفة ذات الصلة حول أساليب MyBatis لتنفيذ الاستعلام عن الإضافة والحذف والتعديل والتراجع. سأستمر في تحديثه لك لاحقًا. شكرًا لك على دعمك المستمر لموقع Wulin Network.