أساليب كتابة ملفات MyBatis تنوع ، وطرق الكتابة والاستخدامات المختلفة لها فرق كبير في وقت التطوير ووقت الصيانة المستهلكة أثناء عملية التطوير الفعلية. سأقوم اليوم بتسجيل طريقة كتابة ملف تعيين بسيطة نسبيًا للجميع لتعديلها والتوصية بها ، وأحاول العثور على أفضل طريقة للكتابة ~~:
خذ كائن المستخدم و usermap.xml كمثال لشرح ، الرمز هو كما يلي:
المستخدم هو فئة كيان المستخدم (للتوضيح فقط ، يمكنك التركيز فقط على متغيرات نوع المرجع ، ويتم حذف طريقة GET/SET):
استيراد com.google.common.collect.lists ؛ استيراد com.gukeer.common.persistence.dataentity ؛ استيراد com.gukeer.modules.personal.entity.dept java.util.date ؛/*** كيان المستخدم ** المؤلف: CC*التاريخ: 2016/9/2*/مستخدم الفئة العامة يمتد DataEntity <Sether> {Private Static Final Long SerialVersionuid = 1L ؛ معرف السلسلة الخاص ؛ شركة Office Private ؛ // مكتب مكتب المكتب الخاص ؛ // private string loginName ؛ // اسم تسجيل الدخول إلى كلمة مرور السلسلة الخاصة ؛ // كلمة مرور السلسلة الخاصة لا ؛ // رقم العمل اسم السلسلة الخاصة ؛ // اسم البريد الإلكتروني السلسلة الخاصة ؛ // البريد الإلكتروني هاتف السلسلة الخاصة ؛ // Phone Private String Mobile ؛ // Mobile Private String userType ؛ // نوع المستخدم الخاص بتسجيل الدخول الخاص ؛ // تسجيل الدخول الأخير ipprivate date logindate ؛ // آخر تسجيل الدخول إلى تسجيل الدخول الخاص بتسجيل الدخول. // ما إذا كنت للسماح بتسجيل الدخول إلى صورة سلسلة خاصة ؛ // Avatar Private String qrcode ؛ // QR Code private String OldloginName ؛ // اسم تسجيل الدخول الأصلي سلسلة NewPassword ؛ // كلمة مرور جديدة سلسلة خاصة oldloginip ؛ // تسجيل الدخول الأخير ipprivate date Oldlogindate ؛ // آخر تسجيل الدخول إلى قسم تسجيل الدخول الخاص ؛ // موظفو الموظفين الخاصين في القسم ؛ // الموقف دور الدور الخاص ؛ // Query ظروف المستخدم بناءً على القائمة الخاصة <ROL> ROLELIST = lists.newarrayList () ؛ // قائمة دور المدارس الخاصة بالمدرسة الخاصة ؛ // ملاحظات السلسلة الخاصة Attributor ؛ // ملاحظات المستخدم الخاص CreateBy ؛ // Creator Date Private CreatedAte ؛ // Creation Date Uperive updateBy ؛ // updater تاريخ خاص تحديث ؛ // تاريخ تحديث سلسلة خاصة delflag ؛ // حذف علامة (0: عادي ؛ 1: حذف ؛ 2: مراجعة)}بالنسبة للمتغيرات المرجعية للأعضاء ، من أجل تعيين القيم مباشرة أثناء عملية الاستعلام ، يمكن تعيين نتائج الاستعلام إلى النتيجة التي تم إرجاعها المحددة في ملف التعيين:
<؟ المساحة = "com.gk.modules.sys.dao.userdao"> <!-النقطة الأساسية هي هذا القسم ، تعيين حقل المعرف مباشرة تم حفظه بواسطة قاعدة البيانات إلى متغير عضو الكائن ، مثل A.Company_ID كـ "Company.id" <!- بالطبع ، يمكن أيضًا تعيين متغيرات النوع المرجعي في الشركة باستخدام هذه الطريقة. يمكن فحص جداول متعددة من خلال Joint Join. هذه عملية في استعلام قاعدة البيانات. لم تتم مناقشته هنا-> <sql id = "UserColumns"> A.ID ، A.Company_ID كـ "Company.id" ، A.Office_ID "Office.id" ، A.Login_Name ، A.Password ، A.No ، A.Name ، A.Email ، A.Phone ، A.Mobile ، A.USER_TYPE ، A.LOGIN_IP ، A.LOGIN_DATE ، A.REMARKS ، A.LOGIN_FLAG ، A.PTOTO ، A. "updateby.id" ، a.update_date ، a.del_flag ، c.name باسم "company.name" ، "company.area.parentids" ، O.Name باسم "Office.name" ، O.Parent_id باسم "Office.parent.id" ، oa.id كـ "Office.area.id" ، oa.name باسم "Office.Area.name" ، oa.parent_id as "company.primaryperson.id" ، cu.name باسم "company.primaryperson.name" ، cu2.id باسم "company.deputyperson.id" ، cu2 "Office.deputyperson.name" ، sc.xxlx كـ "school.xxlx" ، sc.xxmc كـ "school.xxmc" </sql> <sql id = "userjoins"> join join sys_office c on A.office_idleft انضم إلى sys_area oa on oa.id = o.area_idleft join sys_user cu on cu.id = c.primary_personleft join sys_user cu2 على cu2.id = c.deputy_personleft o.deputy_personleft join xj_school sc on sc.id = a.school </sql> <!-بيان الاستعلام ، وفقًا لنتيجة استعلام المعرف ، يمكن كتابة نوع الإرجاع مباشرة بواسطة المستخدم ، في حين أن نتائج التكوين المختلفة تحدد <surects <scers = ". sys_user a <include refid = "userjoins"/> حيث a.id = #{id} </select> <!-بيان الاستعلام ، الاستعلام استنادًا إلى كائن المستخدم ، المعلمات هنا هي متغير المستخدم-> <sired id = "getByloginName" resulttype = "user" parametertype = "user" refid = "userjoins"/> حيث a.login_name = #{loginName} و a.del_flag = #{del_flag_normal} </select> <!-insert state ، يجب أن تكون المعلمات كائن مستخدم ،> <insert id = "insert" user_type ، create_by ، create_date ، update_by ، update_date ، ملاحظات ، login_flag ، photo ، qrcode ، del_flag ، dept_id ، staff_id ، المدرسة) القيم ( #{id} ، #{company.id} ، #{Office.id} ، #{loginname} #{Email} ، #{phone} ، #{mobile} ، #{usertype} ، #{createby.id} ، #{createate} ، #{updatedate} ، #{remarks} ، #{loginflag} ، #{photo} ، #{qrcode} ،#{delflag} ،#{dept.id} ،#{staff.id} ،#{school.id}) </insert> <!-بيان التحديث ، المعلمات هي أيضًا كائنات المستخدم-> <update id = "update" #{logInName} ، password = #{password} ، no = #{no} ، name = #{name} ، email = #{email} ، phone = #{phone} ، mobile = #{mobile} ، user_type = #{usertype} #{remarks} ، login_flag = #{loginflag} ، photo = #{photo} ، qrcode = #{qrcode} ، school = #{school.id} حيث id = #{id} </update> <! حذف المستخدم-> <update id = "deletebylogic"> تحديث sys_user set del_flag = #{del_flag_delete} حيث id = #{id} </uptuday> </kapper>