Heim >Java >javaLernprogramm >Welche Parameterübergabemethoden gibt es für die Mybatis-Paging-Abfrage in Java?
In SQL gibt es zwei Möglichkeiten, die Reihenfolge der Parameter auszudrücken, nämlich die Verwendung von arg0, arg1 ... und die Verwendung von param1, param2 .... Diese Methode ist weniger lesbar und wird nicht für die Verwendung in der Entwicklung empfohlen. In meinem Test ist die Definition von Parametern nicht auf das obige Format beschränkt, Sie können sie nach Belieben definieren
/** * 分页查询 -- 顺序传参 * @param startIndex 开始索引 * @param pageSize 每页条数 * @return */ List<User> findPage(int startIndex,int pageSize);
<!-- 分页查询-顺序传参 --> <select id="findPage" resultType="com.mybatisstudy.pojo.User"> select * from user limit #{param1},#{param2} </select>
2. @param-ParameterübergabeHier Ich habe festgestellt, dass Sie keine Parametertypen definieren müssen Seien Sie also nicht überrascht
1. Persistenzschicht-Schnittstellenmethode
// 测试分页查询方法 -- 顺序传参 @Test public void testFindPage(){ List<User> users = userMapper.findPage(0,3); users.forEach(System.out::println); }
2. Fügen Sie der UserMapper.xml-Zuordnungsdatei neue Tags hinzu/** * 分页查询 -- @param传参 * @param startIndex 开始索引 * @param pageSize 每页条数 * @return */ List<User> findPage1(@Param("startIndex")int startIndex,@Param("pageSize")int pageSize);
3. Neue Testmethode
<!-- 分页查询-@param传参 --> <select id="findPage1" resultType="com.mybatisstudy.pojo.User"> select * from user limit #{startIndex},#{pageSize} </select>
1. Benutzerdefinierte POJO-Klasse3. Benutzerdefinierte POJO-Klassenparameter
Benutzerdefinierte POJO-Klasse, die Attribute dieser Klasse sind die zu übergebenden Parameter im SQL Anweisung Verwenden Sie beim Binden von Parametern einfach den POJO-Eigenschaftsnamen als Parameternamen. Diese Methode wird empfohlen.
Da wir hier zwei Parameter benötigen, einer ist die Startanzahl der Abfragen und der andere die Anzahl der Elemente pro Seite, sodass diese Pojo-Klasse nur zwei Parameter benötigt
// 测试分页查询方法 -- @param传参 @Test public void testFindPage1(){ List<User> users = userMapper.findPage1(3,3); users.forEach(System.out::println); }
package com.mybatisstudy.pojo; public class PageQuery { private int startIndex; private int pageSize; public PageQuery(int i, int i1) { this.startIndex = i; this.pageSize = i1; } public int getStartIndex() { return startIndex; } public void setStartIndex(int startIndex) { this.startIndex = startIndex; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } }
3. Fügen Sie der UserMapper.xml-Zuordnungsdatei neue Tags hinzuHier ist auch zu beachten, dass der Parametername mit dem Namen der Mitgliedsvariablen der benutzerdefinierten POJO-Klasse übereinstimmen muss gleich Es wird ein Fehler gemeldet/** * 分页查询 -- POJO传参 * @param PageQuery * @return */ List<User> findPage2(PageQuery pageQuery);
5. Laufergebnisse4. Neue Testmethode
<!-- 分页查询-POJO传参 --> <select id="findPage2" resultType="com.mybatisstudy.pojo.User" parameterType="com.mybatisstudy.pojo.PageQuery"> select * from user limit #{startIndex},#{pageSize} </select>
4. KartenübergabeparameterWenn Sie POJO nicht anpassen möchten, können Sie Karte als verwenden ein Träger zum Übergeben von Parametern in der SQL-Anweisung. Verwenden Sie beim Binden von Parametern den Map-Schlüssel als Parameternamen. Diese Methode wird empfohlen
// 测试分页查询方法 -- POJO传参 @Test public void testFindPage2(){ PageQuery pageQuery = new PageQuery(2,3); List<User> users = userMapper.findPage2(pageQuery); users.forEach(System.out::println); }
/** * 分页查询 -- Map传参 * @param Map * @return */ List<User> findPage3(Map<String,Object> params);
Das obige ist der detaillierte Inhalt vonWelche Parameterübergabemethoden gibt es für die Mybatis-Paging-Abfrage in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!