// 根据条件得到总记录数
public int getByCount(String xm, String dw, String dh) {
StringBuilder sql = new StringBuilder("select count(*) from txl where 1=1");
List<String> params = new ArrayList<String>();
if (xm != null && !"".equals(xm.trim())) {
sql.append(" and xm like ?");
params.add("'%" + xm + "%'");
}
if (dw != null && !"".equals(dw.trim())) {
sql.append (" and dw like ?");
params.add("%" + dw + "%");
}
if (dh != null &&!"".equals(dh.trim())) {
sql.append(" and dh like ?");
params.add("%" + dh + "%");
} try { // 执行查询, 返回结果的第一行的第一列
Long count = qr.query(sql.toString(), new ScalarHandler<Long>(), params.toArray());
return count.intValue();
} catch (Exception e) {
throw new RuntimeException(e);
}
} // 根据检索条件分页数据显示
public void getTxlByPageBean(PageBean<Txl> pb, String xm, String dw, String dh) {
int totalByCount = this.getByCount(xm, dw, dh);
pb.setTotalCount(totalByCount);
String sql = "select * from txl where 1=1 ";
List<Object> params = new ArrayList<Object>();
if (xm != null && xm != "") {
sql += " and xm like ?";
params.add("%" + xm + "%");
}
if (dw != null && dw != "") {
sql += " and dw like ?";
params.add("%" + dw + "%");
}
if (dh != null && dh != "") {
sql += " and dh like ?";
params.add("%" + dh + "%");
}
sql += " limit ?,?";
// 判断
if (pb.getCurrentPage() <= 0) {
pb.setCurrentPage(1); // 把当前页设置为1
} else if (pb.getCurrentPage() > pb.getTotalPage()) {
pb.setCurrentPage(pb.getTotalPage()); // 把当前页设置为最大页数
} // 1. 获取当前页: 计算查询的起始行、返回的行数
int currentPage = pb.getCurrentPage();
int index = (currentPage - 1) * pb.getPageCount(); // 查询的起始行
int count = pb.getPageCount();
params.add(index);
params.add(count);
try {
List<Txl> pageData = qr.query(sql, new BeanListHandler<Txl>(Txl.class), params.toArray());
pb.setPageData(pageData);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public int getByCount(String xm, String dw, String dh) {
StringBuilder sql = new StringBuilder("select count(*) from txl where 1=1");
List<String> params = new ArrayList<String>();
if (xm != null && !"".equals(xm.trim())) {
sql.append(" and xm like ?");
params.add("'%" + xm + "%'");
}
if (dw != null && !"".equals(dw.trim())) {
sql.append (" and dw like ?");
params.add("%" + dw + "%");
}
if (dh != null &&!"".equals(dh.trim())) {
sql.append(" and dh like ?");
params.add("%" + dh + "%");
} try { // 执行查询, 返回结果的第一行的第一列
Long count = qr.query(sql.toString(), new ScalarHandler<Long>(), params.toArray());
return count.intValue();
} catch (Exception e) {
throw new RuntimeException(e);
}
} // 根据检索条件分页数据显示
public void getTxlByPageBean(PageBean<Txl> pb, String xm, String dw, String dh) {
int totalByCount = this.getByCount(xm, dw, dh);
pb.setTotalCount(totalByCount);
String sql = "select * from txl where 1=1 ";
List<Object> params = new ArrayList<Object>();
if (xm != null && xm != "") {
sql += " and xm like ?";
params.add("%" + xm + "%");
}
if (dw != null && dw != "") {
sql += " and dw like ?";
params.add("%" + dw + "%");
}
if (dh != null && dh != "") {
sql += " and dh like ?";
params.add("%" + dh + "%");
}
sql += " limit ?,?";
// 判断
if (pb.getCurrentPage() <= 0) {
pb.setCurrentPage(1); // 把当前页设置为1
} else if (pb.getCurrentPage() > pb.getTotalPage()) {
pb.setCurrentPage(pb.getTotalPage()); // 把当前页设置为最大页数
} // 1. 获取当前页: 计算查询的起始行、返回的行数
int currentPage = pb.getCurrentPage();
int index = (currentPage - 1) * pb.getPageCount(); // 查询的起始行
int count = pb.getPageCount();
params.add(index);
params.add(count);
try {
List<Txl> pageData = qr.query(sql, new BeanListHandler<Txl>(Txl.class), params.toArray());
pb.setPageData(pageData);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
解决方案 »
- error 谁能帮忙解释哈什么问题
- AJAX
- 请问JDK1.7装完后,eclipse 启动不了???
- 焦点问题:类文件重新编译后如何不需要重新启动服务?
- jsp 页面中如何设计上下滚动的页面?还有就是一个固定表格中的数据能否放到上下滚动页中进行滚动显示呢?
- 紧急求教:如何获取客户端向服务器端的请求状态????
- 求Spring 获取 web 程序路径的问题
- 请问各位,怎么读取文件内容以后,替换特定的内容,然后再生成同一类型文件,谢谢!!!
- highcharts只有头尾2个提示框
- 关于按角色分页面展示表格标签按钮的问题
- 关于零基础web前端开发。
- 关于 iis6 tomcat6 jakarta 共享 80端口的问题
2,上面的SQL拼装用了StringBuilder,下面的也用呀
3,分页查询咱还是封装个插件吧,是mysql用limit,万一改数据库了就不适用了
maven地址 <dependency>
<groupId>com.moolbuy</groupId>
<artifactId>m-orm-xsqlbuilder</artifactId>
<version>1.0.1</version>
</dependency>使用说明:
https://gitee.com/00fly/rapid-xsqlbuilder
使用了hibernate框架的话,看这儿 https://gitee.com/00fly/java-code-frame/blob/master/springmvc-hbn/src/test/java/com/fly/test/QueryTest.java
使用了jpa框架的话,看这儿 https://gitee.com/00fly/java-code-frame/blob/master/springmvc-jpa-query/src/test/java/com/fly/test/TestJpaNativeQuery.java
最后只使用了spring框架的话,看这儿 https://gitee.com/00fly/java-code-frame/blob/master/dbutils-jdbc/src/test/java/com/fly/test/JdbcTemplateTest.java
https://gitee.com/00fly/effict-side/blob/master/dyn-sql-all/src/test/java/com/fly/test/XsqlBuilderTest.java改造dbutils框架支持命名参数可参考 https://blog.csdn.net/qq_16127313/article/details/83928760仅供参考!
throw new RuntimeException(e);
}
你这个目的是啥?