ในส่วนก่อนหน้านี้มันพูดสั้น ๆ เกี่ยวกับการก่อสร้างและการใช้ MyBatis-plus ในส่วนนี้มันพูดสั้น ๆ เกี่ยวกับวิธีการใช้ MP เพื่อใช้การแบ่งหน้าหลายตาราง
วิเคราะห์
โครงการที่ใช้ยังคงเป็นฤดูใบไม้ผลิ เกี่ยวกับการเพจเว็บไซต์อย่างเป็นทางการให้การสาธิตของตารางเดียว ในความเป็นจริงหลักการดำเนินการของการเพจหลายโต๊ะเหมือนกันและพวกเขาทั้งหมดผ่าน mybatis interceptor
(Interceptor ทำอะไร? มันจะทำอะไรบางอย่างเพื่อคุณก่อนที่ SQL ของคุณจะถูกดำเนินการเช่นการแบ่งหน้าเราใช้ MP และไม่สนใจข้อ จำกัด การเชื่อมต่อกับเราเราไม่สนใจ select count(*) อักขระทั้งหมด
ทำให้สำเร็จ
1. กำหนดค่า interceptor
@enableTransactionManagement@configuration@mapperscan ("com.web.member.mapper") คลาสสาธารณะ mybatisplusconfig { / ** * mybatis-plus sql ประสิทธิภาพการดำเนินการปลั๊กอิน (สามารถปิดใหม่ในสภาพแวดล้อมการผลิต] } / * * ปลั๊กอิน Pagination ระบุผู้เช่าหลายรายในประเภทฐานข้อมูลโดยอัตโนมัติโปรดดูที่เว็บไซต์อย่างเป็นทางการ [Plugin Extension] * / @Bean สาธารณะ paginationInterceptor paginationInterceptor () {ส่งคืน paginationInterceptor ใหม่ (); - 2. อินเตอร์เฟส Mapper และ XML
/** * <p> * อินเทอร์เฟซตารางผู้ใช้ * </p> * * @author yin tianwen * @since 2018-06-01 */อินเตอร์เฟสสาธารณะ usermapper ขยาย basemapper <ผู้ใช้> {userlistmodel> selectUserListPage -ควรสังเกตที่นี่ว่าหน้าการปนเปื้อนนี้เป็นสิ่งจำเป็นมิฉะนั้น MP จะไม่สามารถใช้การปนเปื้อนให้คุณได้
<select id = "SelectUserListPage" resultType = "com.web.member.model.userlistmodel"> เลือก * จาก ftms_user u ซ้ายเข้าร่วม ftms_user_level l บน u.level_id = l.id โดยที่ 1 = 1 <ถ้าทดสอบ = "user.nickname! </ถ้า> </select>
3. การใช้บริการ
นำเข้า com.web.member.beans.admin.userlistbean; นำเข้า com.web.member.entity.user; นำเข้า com.web.member.mapper.usermapper; นำเข้า com.web.member.model.userlistmodel; com.baomidou.mybatisplus.plugins.page; นำเข้า com.baomidou.mybatisplus.service.impl.serviceimpl; นำเข้า org.springframework.stereotype.service; </p> * * @author yin tianwen * @since 2018-06-01 */ @servicepublic คลาส userserviceimpl ขยาย ServiceImpl <usermapper ผู้ใช้> ใช้ Userservice {@TransActional (readOnly = TRUE) หน้า <> (user.getCurr (), user.getNums ()); // หน้าปัจจุบันจำนวนอักขระทั้งหมดถูกสร้างขึ้น วัตถุหน้าถูกส่งคืน page.setRecords (this.basemapper.selectuserListPage (หน้า, ผู้ใช้)); -สุดท้ายตั้งค่าชุดผลลัพธ์ไว้ในวัตถุหน้า โครงสร้าง JSON ของวัตถุหน้ามีดังนี้
{"ทั้งหมด": 48, // บันทึกทั้งหมด "ขนาด": 10, // มีกี่ "กระแส" ที่แสดงต่อหน้า: 1, // หน้าปัจจุบัน "บันทึก": [// ชุดผลลัพธ์อาร์เรย์ {... }, {... }, {... }, ... ], "หน้า": 5 // ทั้งหมดข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น