注意:如果數據庫選擇oracle,時間類型字段設置為timestamp而不是date類型時,這時用分頁插件查詢會報錯,還沒搞明白咋回事。
Pom依賴:
<!-- mybatis-plus依賴--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.0</version> </dependency>
配置分頁插件:
@Configuration public class MybatisPlusConfig { /** * 分頁插件 */ @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); } }
Controller層:
@RequestMapping("/getProjectList")
@ResponseBody
public Page getProjectList(HttpServletRequest request) {
int offset = Integer.parseInt(request.getParameter("offset"));
int limit = Integer.parseInt(request.getParameter("limit"));
String yearStr = request.getParameter("year");
Integer year = null;
if(yearStr!=null){
year = Integer.parseInt(request.getParameter("yearStr"));
}
Page page = new Page<>(offset / limit + 1, limit);
Page projectWinInfoList = (Page) electricityDao.getAll(page,year);
return projectWinInfoList;
}
Dao層:
@Mapper public interface ElectricityDao extends BaseMapper<EneElectricity> { IPage getAll (Page page,@Param("year")Integer year); }
Mapper.xml:注意resultType為HashMap時,返回的數據完全是查詢的數據庫字段,而不是實體類屬性,二者有一些大小寫,或者命名的差別。
<select id="getAll" resultType="java.util.HashMap"> select * from ene_electricity <if test="year!=null and year!=''"> where year = #{year} </if> </select>
