首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

mybatis分页兑现2

2012-11-05 
mybatis分页实现2前一篇写了如何实现sql分页http://icefire.iteye.com/blogs/1028915PaginationMapperProx

mybatis分页实现2
前一篇写了如何实现sql分页
http://icefire.iteye.com/blogs/1028915



PaginationMapperProxy



PaginationMapperMethod


具体某个查询的SQL配置



补代码Pagination,分页辅助类
public class Pagination<T> {private long total;private int pagesize;private List<T> list = Collections.emptyList();private int offset;private int limit;private int page;public Pagination() {this(1, 15);}public Pagination(int page) {this(page, 15);}public Pagination(int page, int limit) {setPage(page);setLimit(limit);}public Pagination(RowBounds rowBounds) {this.limit = rowBounds.getLimit();this.offset = rowBounds.getOffset();this.page = offset / limit + 1;}public void setPage(int page) {if (page < 0) {page = 1;}this.page = page;onInit();}public void setLimit(int limit) {if (limit < 1) {limit = 15;}this.limit = limit;onInit();}protected void onInit() {offset = (page - 1) * limit;}protected void onSetRowsize() {pagesize = (int) (total / limit);if (total % limit > 0) {pagesize ++;}if (page > pagesize) {page = pagesize;onInit();}}protected void onSetList() {if (list == null || list.isEmpty()) {total = 0;page = 1;offset = 0;}}public long getTotal() {return total;}public void setTotal(long rowsize) {this.total = rowsize;onSetRowsize();}public int getPagesize() {return pagesize;}public List<T> getList() {return list;}public void setList(List<T> list) {this.list = list;onSetList();}public int getOffset() {return offset;}public int getLimit() {return limit;}public int getPage() {return page;}public RowBounds newRowBounds() {return new RowBounds(getOffset(), getLimit());}}

目前无可避免的需要两段sql。在考虑如何实现自动生成count(*),但目前做到这样,已经达到自己的预期了。暂时先就这样吧! 1 楼 guoyi_20082008 2011-10-14   也按照此方式实现,但发现缺少Pagination类的代码,不知能否附上,谢谢 2 楼 kelor 2011-11-25   看了下源代码,在创建sessionFactory,session对象的时候传入的参数都是Configuration。
如果要用自己的Configuration。是不是也要扩展下XMLConfigBuilder,使用自定义的Configuration来初始化configuration属性? 3 楼 icefire 2011-11-29   kelor 写道看了下源代码,在创建sessionFactory,session对象的时候传入的参数都是Configuration。
如果要用自己的Configuration。是不是也要扩展下XMLConfigBuilder,使用自定义的Configuration来初始化configuration属性?

不知道你的需求是怎样的,如果用spring,就没必要用xml来初始化Configuration了。如果是xml要增加自己的属性,可能需要扩展XMLConfigBuilder吧,具体没研究过了。我使用自己的Configuration是因为我要替换其中的属性,Configuration又没提供set方法,所以别无选择。
4 楼 mygia 2012-08-23   学习一下!

热点排行