-
Notifications
You must be signed in to change notification settings - Fork 64
Pagination_QuickStart_SpringJDBC
fangjinuo edited this page Nov 18, 2019
·
4 revisions
<dependency>
<groupId>com.github.fangjinuo.sqlhelper</groupId>
<artifactId>sqlhelper-springjdbc-spring-boot-starter</artifactId>
<version>${sqlhelper.version}</version>
</dependency>
<dependency>
<groupId>com.github.fangjinuo.sqlhelper</groupId>
<artifactId>sqlhelper-springjdbc-spring-boot-autoconfigure</artifactId>
<version>${sqlhelper.version}</version>
</dependency>
@GetMapping("/_useSpringJdbc_pSetter_rExecutor")
public PagingResult list__useSpringJdbc_pSetter_rExecutor(
@RequestParam(name = "pageNo", required = false) Integer pageNo,
@RequestParam(name = "pageSize", required = false) Integer pageSize,
@RequestParam(name = "sort", required = false) String sort) {
PagingRequest request = SqlPaginations.preparePagination(pageNo == null ? 1 : pageNo, pageSize == null ? -1 : pageSize).setOrderBy(SqlStyleOrderByBuilder.DEFAULT.build(sort));
StringBuilder sqlBuilder = new StringBuilder("select ID, NAME, AGE from USER where 1=1 and age > ?");
List<User> users = jdbcTemplate.query(sqlBuilder.toString(), new PreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps) throws SQLException {
ps.setInt(1, 10);
}
}, new ResultSetExtractor<List<User>>() {
@Override
public List<User> extractData(ResultSet rs) throws SQLException, DataAccessException {
List<User> users = new ArrayList<>();
while (rs.next()) {
User u = new User();
u.setId(rs.getString("ID"));
u.setName(rs.getString("NAME"));
u.setAge(rs.getInt("AGE"));
users.add(u);
}
return users;
}
});
String json = JSONBuilderProvider.simplest().toJson(request.getResult());
System.out.println(json);
return request.getResult();
}
-
Advanced Usage