يقرأ تطبيق MyBatis بيانات بنية الأشجار بالتفصيل على النحو التالي:
هيكل الجدول
إنشاء جدول `lscrm_function_privilege` (` id` int (10) غير موقّع غير موقّع auto_increment تعليق 'رقم' ، `create_id` varchar (30) لا خميد" sys " الطابع الزمني غير الفارغ الافتراضي current_timestamp على تحديث Current_Timestamp تعليق "وقت التعديل" ، "الصلاحية" tinyint (3) غير موقعة وليس الافتراضي "1" تعليق "صحة 1. TinyInt (3) غير موقعة غير موقعة الافتراضية "0" التعليق "الأصل" ، `is_leaf_node` tinyint (3) غير موقّع غير فارغ" 1 "التعليق" هي عقدة الورقة (أيها ". 0 '، `sub_system_id` int (10) غير موقّع الافتراضي الافتراضي' 0 'التعليق' subsystem '،` is_hidden` tinyint (3) غير موقّع الافتراضي "0" 0 "تعليق واجهة المستخدم مخفية؟ لم يتم عرضه على واجهة المستخدم ، المفتاح الأساسي (`id`)) المحرك = innodb auto_increment = 22 charset default = utf8 comment = 'create /r /n وفقًا للرمز الأصل ، مثل: customer.add' ؛
بناء البيانات
أدخل في قيم "lscrm_function_privilege` ('1' ، 'sys' ، 'sys' ، '2016-09-07 15:20:40 ،' 2016-09-07 15:21:17 ، `lscrm_function_privilege` قيم ('2' ، 'sys' ، 'sys' ، '2016-09-07 15:21:12 ،' 2016-09-07 15:21:40 '،' 1 '،' Web.permission.user-mgmt '،' 'management" ،' `lscrm_function_privilege` قيم ('3' ، 'sys' ، 'sys' ، '2016-09-07 15:22:16 ،' 2016-09-07 15:22:35 ، '1' ، 'Web.permission.user-mgmt.add' ،" إضافة مستخدم "، 2 '، 1' ، `lscrm_function_privilege` قيم ('4' ، 'sys' ، 'sys' ، '2016-09-07 15:23:17 ،' 2016-09-07 15:23:17 ، '1' ، 'web.permission.user-mgmt.modify ، `lscrm_function_privilege` قيم ('5' ، 'sys' ، 'sys' ، '2016-09-07 16:10:37 ،' 2016-09-07 16:10:42 '،' 1 '،' app.customer '،' Management Customer '،' 0 ، '' ، 2 '،' 0 ') ؛ القيم ('6' ، 'sys' ، 'sys' ، 'sys' ، '2016-09-07 16:11:06 "، 2016-09-07 16:11:20 ، "Sys" ، "Sys" ، "2016-09-07 16:11:06" ، "2016-09-07 16:11:20" ، "1" ، "app.customer.modify" ، "5" ، "1" ، 2 "،" 2 ") ؛ 16:12:33 '،' 2016-09-07 16:14:10 '،' 1 '،' App.Customer.ViewDetail '،' عرض تفاصيل العميل '،' 5 '،' 1 '،' 2 '،' 0 ') 16:12:33 '،' 2016-09-07 16:12:33 '،' 1 '،' App.Customer.Addvisit '،' add visit '،' 5 '،' 1 '،' 2 '،' 0 ') ؛ "2016-09-07 16:14:17" ، "1" ، "App.Customer.ViewDemand" ، "عرض متطلبات شراء العملاء" ، "5" ، "1" ، "2" ، 0 ") "2016-09-07 16:14:17" ، "1" ، "App.Customer.Vieworder" ، "عرض العميل" ، "5" ، "1" ، "2" ، "0") ؛ 16:14:17 '،' 1 '،' app.customer.viewshop '،' عرض ترتيب العميل '،' 5 '،' 1 '،' 2 '، 0') ؛ 16:18:39 '،' 1 '،' App.Customer.ViewReply '،' View Order Grab List '،' 5 '،' 1 '،' 2 '،' 0 ') ؛ 16:23:51 ، "1" ، "app.customer.fastopenshop" ، "فتح المتجر السريع" ، "5" ، "1" ، "2" ، 0 ") ؛ 16:22:33 '،' 1 '،' app.demand '،' Merming Management '،' 0 '،' 0 '،' 2 '،' 0 ') ؛ insert in `lscrm_function_privilege` (' 17 '،' sys '،' 2016-09-07 16:23:21 ، '2016-09-07 "app.demand.private" ، "الطلب الخاص بالبحر" ، "15" ، "1" ، "1" ، "2" ، "0") ؛ إدراج في "LSCRM_FUNCTION_PRIVILEGE" ("18" ، "SYS" ، "SYS" ، "2016-09-07 16:23 ،" 2016-09-07 16:23: 58 ، "app.demand.feedback" ، "تعليقات الصفحة" ، "15" ، "1" ، "2" ، "0") ؛ إدراج في "LSCRM_FUNCTION_PRIVILEGE" ("19" ، "SYS" ، "Sys" ، "2016-09-07 16:24:47 ،" 1 "،" App "2 '،' 0 ') ؛ insert in' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '، 1' ، 1 '، 1' ، 1 '،' 1 '،' 1 '،' 1 '،' 1 ') ؛ "1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '، "1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '، "1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '،' 1 '، 1' ، '1' ، 1 '، 1' ، '' ، 'app.kpi.viewdata' ، 'view" ، "20 ،" ، "، 2فول كيان
package com.lianshang.crm.biz.entity ؛ import com.google.common.base.moreObjects ؛ استيراد java.util.arraylist ؛ استيراد java.util.date ؛ استيراد java.util.list ؛ private updateid ؛ class lscrmfunctionprivilegeentity {/** number **/private int CreateTime ؛/** وقت التعديل **/تاريخ تحديث التاريخ الخاص = تاريخ جديد () ؛/** الصلاحية 1.valid 0. غير صالح **/صحة int الخاصة = 1 ؛ العقد). عند إضافة العقد الفرعية ، يجب ضبط eS_Leaf_Node على 0 **/private int isleafnode ؛/** النظام الفرعي التابع **/private int subsystemid ؛/** هل واجهة المستخدم مخفية؟ لا يتم عرضه على واجهة المستخدم **/private int ishidden = 1 ؛ قائمة خاصة <lscrmfunctionPrivileGeenTity> perilegelist = new ArrayList <> () ؛ // get ()/set () تم حذفها. . . } package com.lianshang.crm.biz.entity ؛ استيراد java.util.arraylist ؛ استيراد java.util.date ؛ استيراد java.util.list ؛/*** تم إنشاؤه بواسطة Zhenyu على Zhenyu في 2016/9/8. updateTime = New Date () ؛/** صحة 1.valid 0. غير صالح **/صحة int الخاصة = 1 ؛/** الترميز **/رمز السلسلة الخاص ؛/** الاسم **/سلسلة private functionName ؛/** الأصل العقدة **/private int parentid ؛/** هي NODE NODE (اترك Node هي Node مع درجة 0 و NODE بدون NODE. عند إضافة العقد الفرعية ، يجب ضبط eS_Leaf_Node على 0 **/private int isleafnode ؛/** النظام الفرعي التابع **/private int subsystemid ؛/** هل واجهة المستخدم مخفية؟ لا يتم عرضه على واجهة المستخدم **/private int ishidden = 1 ؛ قائمة خاصة <lscrmfunctionPrivilegeentity> pervilegelist = new ArrayList <> () ؛}تكوين Mapper
<؟ مساحة Name.lianshang.crm.biz.dao.lscrmfunctionprivilegedao "> <cacheeviction =" fifo "flushinterval =" 60000 "size =" 1024 "readOnly =" true "/> <resultmap id = lscrmfunctionPileGereSults" type " property = "id" column = "id"/> <result property = "createID" column = "create_id"/> <result property = "updateId" column = "update_id"/> <result property = "createTime" column = "create_time"/> <result property = "updateetim column = "function_name"/> <result property = "parentId" column = "parent_id"/> <result property = "isLeafNode" column = "is_lef_node"/> <result property = "subsystemid" column = "sub_system_id"/> property = "subprivilegesresult" type = "lscrmfunctionPrivileGeenTity" تمتد = "lscrmfunctionPrivileGerEsult"> <collection property = "envilegelist" javatype = "java.util.arraylist" column = "id" oftype = "lscrmfunctionprictity" SELECT = "SelectSubprivileGEGES"> </sollection> </resultmap> <resultmap id = "lscrmfUnctionPrivileGetReerEsult" type = "lscrmfunctionPrivilegetree" extends = "lscrmentiTINGERSULT"> <! resultmap = "lscrmfunctionPrivilegerEsult"/>-> <collection property = "perilegelist" javatype = "java.util.arraylist" column = "id" oftype = "lscrmfunctionPilegeentity" select = "selectsubprivileges id = "tbl_name"> lscrm_function_privilege </sql> <sql id = "rob_privilege_tbl_name"> lscrm_role_privilege </sql> <sql id = "select_sql" is_leaf_node ، sub_system_id ، is_hidden from <refid = "tbl_name"/> </sql> <select id = "readAllPrivileges" resultmap = "lscrmfUnctionPrivilegetResult" usecache = "true"> sub_system_id = #{subsystemiD} </If> </select> <select id = "selectSUBPRIVILEGES" resultmap = "subprivilegesresult"> <refid = "select_sql"/> where parent_id = #id} </select> </mapper> package com.lianshang.crm. com.lianshang.crm.api.dto.lscrmfunctionprivilege ؛ استيراد com.lianshang.crm.biz.entity.lscrmfunctionprivilegeentity ؛ com.lianshang.crm.biz.entity.lscrmfunctionprivilegetre lscrmfunctionPrivilegedao {list <lscrmfunctionPrivilegetree> readAllPrivileges (param ("subsystemid") int subsystemid) ؛}خدمة
package com.lianshang.crm.biz.service.impl ؛ import com.alibaba.fastjson.json ؛ import com.google.common.base.function ؛ import com.lianshang.common.Utils.general.generalresultilet ؛ import com.lianshang.common.Utils.general.guatil.guatil com.lianshang.common.Utils.general.StringUtil ؛ استيراد com.lianshang.crm.api.dto.lscrmfunctionprivilege ؛ import com.lianshang.crm.api.service.lscrmfunctionPrivilegeserVice ؛ com.lianshang.crm.biz.entity.lscrmfunctionprivilegeentity ؛ import com.lianshang.crm. java.util.list ؛ استيراد static com.google.common.collect.fluentiterable.from ؛ الطبقة العامة lscrmfunctionPrivileGeServiceImpl تنفذ lscrmfunctionprivilegegrice {autoWiredPrivinPrivinPrivinprivinprivinprivinprivilePrivilePrationalPrictultedGridgublistultedAbultaDao ؛ readAllPrivileges (int subsystemid) {list <lscrmfunctionPrivilegetree> perilegetRes = lscrmfunctionPrivilegedao.ReadAllprivileges (subsystemid)نتيجة العودة
[{"رمز": "web.permission" ، "createId": "sys" ، "createTime": 1473232840000 ، "sys" ، "createTime": 1473232872000 ، "functionName": "Management Management" ، "Hidden": 0 ، "id": 2 ، 1473232936000 ، "functionName": "مستخدم جديد" ، "Hidden": 0 ، "id": 3 ، "Leafnode": 1 ، "ParentId": 2 ، "PRUILEGELIST": [] ، "SubsystemId": 1 ، "web.permission.user-mgmt.modify" ، "createId": "sys" ، "createTime": 1473232997000 ، "sys" ، "updateTime": 1473232997000 ، "الصلاحية": 1}] ، "SubsystemId": 1 ، "updateid": "sys" ، "updatetime": 1473232900000 ، 1473232877000 ، "صلاحية": 1}] ما ورد أعلاه هو رمز المثال لتنفيذ بيانات بنية شجرة قراءة MyBatis المقدمة لك. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!