mybatis的物理分頁:mybatis-paginator
阿新 • • 發佈:2019-01-22
package acc.service.support;
2
3 import java.io.Serializable;
4 import java.util.List;
5
6 import org.apache.ibatis.session.SqlSession;
7 import org.apache.ibatis.session.SqlSessionFactory;
8 import org.mybatis.spring.SqlSessionFactoryBean;
9 import org.mybatis.spring.SqlSessionUtils;
10 import org.slf4j.Logger;
11 import org.slf4j.LoggerFactory;
12 import org.springframework.beans.factory.annotation.Autowired;
13
14 import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
15
16 public class BaseServiceImpl implements Serializable {
17
18 private static final long serialVersionUID = 1293567786956029903L;
19
20 protected Logger logger = LoggerFactory.getLogger(this.getClass());
21
22 @Autowired
23 protected SqlSessionFactoryBean sqlSessionFactory;
24
25 /**
26 * 查詢分頁資料
27 *
28 * @param mapperClass
29 * @param sqlId
30 * @param sqlParameter
31 * @param pageIndex
32 * @param pageSize
33 * @return
34 * @throws Exception
35 */
36 protected List<?> getPageList(Class<?> mapperClass, String sqlId,
37 Object sqlParameter, int pageIndex, int pageSize) throws Exception {
38 SqlSession session = null;
39 try {
40 SqlSessionFactory sessionFactory = sqlSessionFactory.getObject();
41 session = SqlSessionUtils.getSqlSession(sessionFactory);
42 if (pageIndex <= 0) {
43 pageIndex = 1;
44 }
45 if (pageSize <= 0) {
46 pageSize = 10;
47 }
48 PageBounds pageBounds = new PageBounds(pageIndex, pageSize);
49 return session.selectList(mapperClass.getName() + "." + sqlId,
50 sqlParameter, pageBounds);
51 } finally {
52 session.close();
53 }
54
55 }
56
57 }