Paginierung ist eine Hürde, die wir in der Entwicklung nicht umgehen können! Wenn die Menge Ihrer Daten groß ist, ist es unrealistisch, alle Daten auf einmal zu überprüfen. Deshalb fragen wir normalerweise seitenweise ab, was den Druck auf den Server verringert und Geschwindigkeit und Effizienz verbessert! Es verringert auch den Druck beim Front-End-Rendering!
Hinweis: Da die von Java maximal zulässige Ganzzahl 2147483647 ist, ist die maximal zulässige Ganzzahl, die diese Grenze verwenden kann, ebenfalls 2147483647. Das gleichzeitige Herausnehmen einer großen Datenmenge kann zu einem Speicherüberlauf führen. Verwenden Sie es daher bei großen Datenmengen mit Vorsicht Abfragesituationen!
Grammatik:
limit ${startPos},${pageSize}
In tatsächlichen Projekten fügen wir normalerweise ein Nullurteil wie folgt hinzu:
<if test="startPos!=null and pageSize!=null"> limit ${startPos},${pageSize} </if>
Business-Layer-Code:
<select id="getUserInfo1" parameterType="map" resultType="dayu"> select * from user <if test="startPos!=null and pageSize!=null"> limit ${startPos},${pageSize} </if> </select>
List<User> getUserInfo1(Map<String,Object> map);
Bsp Durchführungsergebnisse:
Wenn 0,10 übergeben wird:
Zusammenfassung:
Grenzwert 0,10;
0 bedeutet, ab dem 0. Datenelement zu beginnen
10 Es bedeutet, 10 Datenelemente zu überprüfen.
Wenn Sie die zweite Seite erreichen, beträgt die Grenze 10,10; Um es im Unternehmen hinzuzufügen, folgen Sie einfach der Paging-Ebene! Keine Angabe spezifizierter Daten erforderlich!
Anfangszeilennummer
Limit:Die Anzahl der erforderlichen Datenzeilen
Daher sind die herausgenommenen Daten: Beginnend mit der Zeile Offset + 1 nehmen Sie die Limitzeile
Business-Layer-Code:@Test public void selectUser() { SqlSession session = MybatisUtils.getSession(); UserMapper mapper = session.getMapper(UserMapper.class); //这里塞值 Map<String,Object> parms = new HashMap<>(); parms.put("startPos","0"); parms.put("pageSize","5"); List<User> users = mapper.getUserInfo1(parms); for (User map: users){ System.out.println(map); } session.close(); }
@Test public void selectUserRowBounds() { SqlSession session = MybatisUtils.getSession(); UserMapper mapper = session.getMapper(UserMapper.class); // List<User> users = session.selectList("com.dy.mapper.UserMapper.getUserInfoRowBounds",null,new RowBounds(0, 5)); List<User> users = mapper.getUserInfoRowBounds(new RowBounds(0,5)); for (User map: users){ System.out.println(map); } session.close(); }
List<User> getUserInfoRowBounds(RowBounds rowBounds);
3. Mybatis_PageHelper-Paging-Plug-in
Wir stellen das JAR-Paket vor:
<select id="getUserInfoRowBounds" resultType="dayu"> select * from user </select>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.7</version>
</dependency>
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor" />
</plugins>
Zusammenfassung:
PageHelper ist immer noch sehr nützlich und es ist auch ein physisches Paging!
Tatsächlich verwenden wir im Allgemeinen eher den zweiten Typ: Mapper-Schnittstellenmethodenaufruf
@Test public void selectUserPageHelper() { SqlSession session = MybatisUtils.getSession(); UserMapper mapper = session.getMapper(UserMapper.class); //第二种,Mapper接口方式的调用,推荐这种使用方式。 PageHelper.startPage(1, 3); List<User> list = mapper.getUserInfo(); //用PageInfo将包装起来 PageInfo page = new PageInfo(list); for (User map: list){ System.out.println(map); } System.out.println("page:---"+page); session.close(); }
Das obige ist der detaillierte Inhalt vonWas sind die Paging-Implementierungsmethoden von MyBatis in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!@Test
public void selectUserPageHelper() {
SqlSession session = MybatisUtils.getSession();
UserMapper mapper = session.getMapper(UserMapper.class);
//第二种,Mapper接口方式的调用,推荐这种使用方式。
PageHelper.startPage(1, 3);
List<User> list = mapper.getUserInfo();
//用PageInfo将包装起来
PageInfo page = new PageInfo(list);
for (User map: list){
System.out.println(map);
}
System.out.println("page:---"+page);
session.close();
}