Im vorherigen Abschnitt spricht es kurz über die Konstruktion und Verwendung von MyBatis-Plus. In diesem Abschnitt wird kurz darüber gesprochen, wie MP zur Implementierung von Multi-Tabellen-Pagination verwendet wird.
analysieren
Das verwendete Projekt ist immer noch Springboot. In Bezug auf Paging gibt die offizielle Website eine Demo einer einzelnen Tabelle. Tatsächlich ist das Implementierungsprinzip von Multi-Table-Paging gleich und sie sind alle durch MyBatis Interceptor
(Was macht der Interceptor? Es wird etwas für Sie tun, bevor Ihr SQL ausgeführt wird, wie z. B. Pagination. Wir verwenden MP und kümmern sich nicht um die Grenze. Der Interceptor spleißt es für uns. Wir kümmern uns nicht um die Gesamtzahl der Zeichen. Nachdem der Interceptor unsere SQL, TPICES select count(*) und fügt ihn dem Parameterobjekt hinzu).
erreichen
1. Konfigurieren Sie den Interceptor
@EnableTransactionManagement@configuration@mapperscan ("com.web.member.mapper") öffentliche Klasse MyBatiSplusconfig { / ** * MyBatis-Plus SQL Ausführungseffizienz-Plug-In [kann in der Produktionsumgebung ausgeschaltet werden. } / * * Pagination Plug-In, die automatisch Multi-Mieter im Datenbanktyp identifizieren, siehe die offizielle Website [Plugin-Erweiterung] * / @Bean Public PaginationInterceptor PaginationInterceptor () {return New PaginationInterceptor (); }} 2. Mapper -Schnittstelle und XML
/** * <P> * Benutzertabelle Mapper-Schnittstelle * </p> * * @author yin tianwen * @Since 2018-06-01 */public interface usermapper erweitert Basemapper <Bers <Unters <Benutzer> {Liste <UnterListModel> SelectUserListPage (Pagination Page, @param ("userListBean user); }Es ist hier zu beachten, dass diese Paginationsseite erforderlich ist, andernfalls kann MP keine Paginierung für Sie implementieren.
<select id = "selectUserListPage" resultType = "com.web.member.model.userListModel"> SELECT * Von ftms_user u links join ftms_user_level l auf U.Level_id = l.id wobei 1 = 1 <if test = user.nickname! </if> </select>
A. Service -Implementierung
import com.web.member.beans com.baomidou.mybatisplus.plugins.page; import com.baomidou.mybatisplus.service.impl.serviceImpl; org.springFramework.stereotype.Service; @Author Yin Tianwen * @Since 2018-06-01 */ @ServicePublic Class UserServiceImpl erweitert ServiceImpl <UsMapper, Benutzer> Implementiert UserService {@Transactional (readonly = true) @Override public Page <UserListModel> SelektionSerlist. user.getNums ()); // Auf der aktuellen Seite wird die Gesamtzahl der Zeichen konstruiert. Das Seitenobjekt wird zurückgegeben. }}Legen Sie schließlich das Ergebnis ein, das in das Seitenobjekt eingestellt ist. Die JSON -Struktur des Seitenobjekts lautet wie folgt
{"Gesamt": 48, // Gesamtdatensätze "Größe": 10, // Wie viele "aktuelle" werden pro Seite angezeigt: 1, // aktuelle Seite "Datensätze": [// Ergebnis set Array {...}, {...}, {...}, ...], "Seiten": 5 // Gesamtseiten}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.