package com.dtf.core.utils.mybatis;
import java.util.Map;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.stereotype.Service;
import com.dtf.core.utils.common.MapUtils;
import com.github.pagehelper.ISelect;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
/**
* 数据库工具类
* 继承SqlSessionTemplate,得到此工具类中的原有方法
* @author
*
*/
@Service
public class DaoUtils extends SqlSessionTemplate{
public DaoUtils(SqlSessionFactory sqlSessionFactory) {
super(sqlSessionFactory);
}
public String pageNumStr = "pageNum";
public String pageSizeStr = "pageSize";
/***
* 查询分页信息
* @param statement sql映射名称.id
* @param pageNum 当前页
* @param pageSize 每页条数
* @return
*/
public PageInfo selectPage(String statement,int pageNum,int pageSize){
return this.selectPage(statement, null, pageNum, pageSize);
}
/***
* 查询分页信息
* @param statement sql映射名称.id
* @param param 查询条件,param里边必须包含pageNum和pageSize,否则会报错
* @return
*/
public PageInfo selectPage(String statement,Map param){
int pageNum = MapUtils.getInt(param, pageNumStr);
int pageSize = MapUtils.getInt(param, pageSizeStr);
if (pageNum == 0 || pageSize == 0) {
throw new RuntimeException(
"param is not for:pageNum="+MapUtils.getString(param, pageNumStr) +
",pageSize="+MapUtils.getString(param, pageSizeStr));
}
return this.selectPage(statement, param,pageNum , pageSize);
}
/***
* 查询分页信息基础方法
* @param statement SQL映射路径.ID
* @param param 参数
* @param pageNum 查询第多个页
* @param pageSize 每页多少条数据
* @return
*/
public PageInfo selectPage(final String statement,final Object param,int pageNum,int pageSize){
return selectPage(statement, param, true, pageNum, pageSize);
}
/***
* 查询分页数据,不查询数据总条数
* @param statement SQL映射路径.ID
* @param param 参数
* @param pageNum 查询第多个页
* @param pageSize 每页多少条数据
* @return
*/
public PageInfo selectPageNoCount(final String statement,final Object param,int pageNum,int pageSize){
return selectPage(statement, param, false, pageNum, pageSize);
}
/***
* 查询分页数据,不查询数据总条数
* @param statement SQL映射路径.ID
* @param param 参数
* @param pageNum 查询第多个页
* @param pageSize 每页多少条数据
* @return
*/
public PageInfo selectPageNoCount(final String statement,int pageNum,int pageSize){
return selectPage(statement, null, false, pageNum, pageSize);
}
/***
* 查询分页数据,不查询总条数
* @param statement sql映射名称.id
* @param param 查询条件,param里边必须包含pageNum和pageSize,否则会报错
* @return
*/
public PageInfo selectPageNoCount(String statement,Map param){
int pageNum = MapUtils.getInt(param, pageNumStr);
int pageSize = MapUtils.getInt(param, pageSizeStr);
if (pageNum == 0 || pageSize == 0) {
throw new RuntimeException(
"param is not for:pageNum="+MapUtils.getString(param, pageNumStr) +
",pageSize="+MapUtils.getString(param, pageSizeStr));
}
return selectPageNoCount(statement, param,pageNum , pageSize);
}
/***
* 查询分页信息基础方法
* @param statement SQL映射路径.ID
* @param param 参数
* @param selectCount 是否进行count查询
* @param pageNum 查询第多个页
* @param pageSize 每页多少条数据
* @return
*/
public PageInfo selectPage(final String statement,final Object param,boolean selectCount,int pageNum,int pageSize){
final DaoUtils daoUtils = this;
PageInfo info = PageHelper.startPage(pageNum, pageSize,selectCount).doSelectPageInfo(new ISelect() {
@Override
public void doSelect(){
daoUtils.selectList(statement,param);
}
});
return info;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
spring-boot-test-3.zip (43个子文件)
spring-boot-test-3
.project 1KB
src
test
java
main
webapp
WEB-INF
web.xml 222B
index.jsp 57B
resources
config
application.properties 430B
mybatis
mysql
CustMapper.xml 633B
oracel
CustMapper.xml 370B
java
com
dtf
core
utils
common
MapUtils.java 2KB
mybatis
MyBatisConfig.java 832B
DaoUtils.java 4KB
web
IndexController.java 2KB
vo
Cust.java 1KB
bo
CustBo.java 2KB
Application.java 383B
target
maven-status
maven-compiler-plugin
testCompile
default-testCompile
inputFiles.lst 0B
compile
default-compile
createdFiles.lst 210B
inputFiles.lst 528B
generated-sources
annotations
classes
com
dtf
core
utils
common
MapUtils.class 2KB
mybatis
DaoUtils.class 3KB
MyBatisConfig.class 1KB
DaoUtils$1.class 1KB
web
IndexController.class 3KB
vo
Cust.class 1KB
bo
CustBo.class 3KB
Application.class 738B
config
application.properties 430B
META-INF
MANIFEST.MF 115B
maven
com.dtf
spring-boot-test-3
pom.properties 249B
pom.xml 2KB
mybatis
mysql
CustMapper.xml 633B
oracel
CustMapper.xml 370B
spring-boot-test-3.jar 10KB
maven-archiver
pom.properties 124B
test-classes
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.m2e.core.prefs 90B
org.eclipse.jdt.core.prefs 736B
org.eclipse.wst.validation.prefs 50B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.core.resources.prefs 97B
org.eclipse.wst.common.component 779B
.jsdtscope 639B
pom.xml 2KB
.classpath 1KB
共 43 条
- 1
资源评论
- 我真的很会编2017-05-31蛮好的,推荐使用
飞不语
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功