package com.yous365.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import com.hcwy.basic.jdbc.DBConnection;
import com.hcwy.basic.page.PageBean;
public class ArticlesDAO {
private static final Map HashMap = null;
private PreparedStatement pstmt;
private ResultSet rs;
private Connection con;
// private DBConnection conn;
public Connection conn(){
try {
Class.forName("com.mysql.jdbc.Driver");
try {
con=DriverManager.getConnection("jdbc:mysql://localhost:3316/hcwy","root","root");
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return con;
}
//查询SQL
public ArrayList chaSQL(String sql){
ArrayList list=new ArrayList();
try {
pstmt=this.conn().prepareStatement(sql);
rs=pstmt.executeQuery();
ResultSetMetaData rsmd=rs.getMetaData();
int count=rsmd.getColumnCount();
while(rs.next()){
// System.out.println("名字是-->"+rsmd.getColumnName(i)+"\t 得到的object是-->"+rs.getObject(i)+" "+i);
HashMap map=new HashMap();
for(int i=0;i<count;i++){
map.put(rsmd.getColumnName(i+1), rs.getObject(i+1));
}
list.add(map);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
//查询所总条数
public int count(String name){
String sql="select count(*) as aa from "+name;
int i=0;
try {
pstmt=this.conn().prepareStatement(sql);
rs=pstmt.executeQuery();
if(rs.next()){
i=rs.getInt("aa");
}
} catch (SQLException e) {
e.printStackTrace();
}
return i;
}
//查询SQL带分页
public ArrayList chaSQL(String sql,String name,PageBean page){
ArrayList list=new ArrayList();
if(page!=null){
page.setTotalCount(this.count(name));
sql=sql+" limit "+page.getStart()+","+page.getPageSize();
}
System.out.println(sql);
try {
pstmt=this.conn().prepareStatement(sql);
rs=pstmt.executeQuery();
ResultSetMetaData rsmd=rs.getMetaData();
int count=rsmd.getColumnCount();//得到表里字段的总数
while(rs.next()){
// System.out.println("名字是-->"+rsmd.getColumnName(i)+"\t 得到的object是-->"+rs.getObject(i)+" "+i);
HashMap map=new HashMap();
for(int i=0;i<count;i++){
map.put(rsmd.getColumnName(i+1), rs.getObject(i+1));//名字和值
}
list.add(map);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
public static void main(String[] args) {
PageBean page=new PageBean();
ArticlesDAO dd=new ArticlesDAO();
ArrayList list=dd.chaSQL("select * from articles","articles",page);//如果这里不写page和articles的意思 就是说不要分页
//任何对象都能解析
for(int i=0;i<list.size();i++){
HashMap map=(HashMap)list.get(i);
Iterator it=map.keySet().iterator();
while(it.hasNext()){
Object id=it.next();
System.out.println(""+map.get(id));
}
System.out.println("\n");
}
// ArticlesDAO dd=new ArticlesDAO();
// System.out.println(dd.count("articles"));
}
}
package com.yous365.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import com.hcwy.basic.jdbc.DBConnection;
import com.hcwy.basic.page.PageBean;
public class ArticlesDAO {
private static final Map HashMap = null;
private PreparedStatement pstmt;
private ResultSet rs;
private Connection con;
// private DBConnection conn;
public Connection conn(){
try {
Class.forName("com.mysql.jdbc.Driver");
try {
con=DriverManager.getConnection("jdbc:mysql://localhost:3316/hcwy","root","root");
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return con;
}
//查询SQL
public ArrayList chaSQL(String sql){
ArrayList list=new ArrayList();
try {
pstmt=this.conn().prepareStatement(sql);
rs=pstmt.executeQuery();
ResultSetMetaData rsmd=rs.getMetaData();
int count=rsmd.getColumnCount();
while(rs.next()){
// System.out.println("名字是-->"+rsmd.getColumnName(i)+"\t 得到的object是-->"+rs.getObject(i)+" "+i);
HashMap map=new HashMap();
for(int i=0;i<count;i++){
map.put(rsmd.getColumnName(i+1), rs.getObject(i+1));
}
list.add(map);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
//查询所总条数
public int count(String name){
String sql="select count(*) as aa from "+name;
int i=0;
try {
pstmt=this.conn().prepareStatement(sql);
rs=pstmt.executeQuery();
if(rs.next()){
i=rs.getInt("aa");
}
} catch (SQLException e) {
e.printStackTrace();
}
return i;
}
//查询SQL带分页
public ArrayList chaSQL(String sql,String name,PageBean page){
ArrayList list=new ArrayList();
if(page!=null){
page.setTotalCount(this.count(name));
sql=sql+" limit "+page.getStart()+","+page.getPageSize();
}
System.out.println(sql);
try {
pstmt=this.conn().prepareStatement(sql);
rs=pstmt.executeQuery();
ResultSetMetaData rsmd=rs.getMetaData();
int count=rsmd.getColumnCount();//得到表里字段的总数
while(rs.next()){
// System.out.println("名字是-->"+rsmd.getColumnName(i)+"\t 得到的object是-->"+rs.getObject(i)+" "+i);
HashMap map=new HashMap();
for(int i=0;i<count;i++){
map.put(rsmd.getColumnName(i+1), rs.getObject(i+1));//名字和值
}
list.add(map);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
public static void main(String[] args) {
PageBean page=new PageBean();
ArticlesDAO dd=new ArticlesDAO();
ArrayList list=dd.chaSQL("select * from articles","articles",page);//如果这里不写page和articles的意思 就是说不要分页
//任何对象都能解析
for(int i=0;i<list.size();i++){
HashMap map=(HashMap)list.get(i);
Iterator it=map.keySet().iterator();
while(it.hasNext()){
Object id=it.next();
System.out.println(""+map.get(id));
}
System.out.println("\n");
}
// ArticlesDAO dd=new ArticlesDAO();
// System.out.println(dd.count("articles"));
}
}
package com.yous365.util;
public class PageBean {
private static final int DEFAULT_PAGE_SIZE = 20;
private int pageSize = DEFAULT_PAGE_SIZE; // 每页的记录数
private int start=0; // 当前页第一条数据在List中的位置,从0开始
private int page=1; //当前页
private int totalPage=0; //总计有多少页
private int totalCount=0; // 总记录数
////////////////
// 构造函数
public PageBean() {
}
public PageBean(int page) {
this.page=page;
}
/////////////////
public void setPage(int page) {
if(page>0) {
start=(page-1)*pageSize;
this.page = page;
}
}
public int getPage() {
return page;
}
public int getPageSize() {
return pageSize;
}
public PageBean setPageSize(int pageSize) {
this.pageSize = pageSize;
return this;
}
/**
* @return the start
*/
public int getStart() {
return start;
}
// 此位置根据计算得到
protected void setStart() {
}
/**
* @return the totalCount
*/
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount=totalCount;
totalPage = (int) Math.ceil((totalCount + pageSize - 1) / pageSize);
start=(page-1)*pageSize;
}
// 总页面数根据总数计算得到
protected void setTotalPage() {
}
public int getTotalPage() {
return totalPage;
}
///////////////
//获取上一页页数
public int getLastPage() {
if(hasLastPage()) {
return page-1;
}
return page;
}
public int getNextPage() {
if(hasNextPage()) {
return page+1;
}
return page;
}
/**
* 该页是否有下一页.
*/
public boolean hasNextPage() {
return page < totalPage;
}
/**
* 该页是否有上一页.
*/
public boolean hasLastPage() {
return page > 1;
}
}
分享到:
相关推荐
亲测,可用,vs2010 winform mysql 分页 你值得拥有
JDBC-MySQL分页查询,jsp为显示的页面
不错的struts2+MySQL分页 struts2+MySQL分页
PHP+MySql分页显示示例分析 PHP+MySql分页显示示例分析
struts2 +mysql 分页显示 源码struts2 +mysql 分页显示 源码
Mysql分页通用存储过程
page ssm mysql 分页查询 绝对的强大
PHP和MYSQL分页代码,带有数据库. 可以实现数据分页
一个封装好的php+mysql分页类,分页显示MySQL数据库中的数据,根据SQL查询语句从表中读取相应的记录,显示首页、下页、上页、未页。
MYSQL分页存储过程 非常实用的东西哦 希望大家能用上
MySql 分页 存储过程 MySql 分页 存储过程 MySql 分页 存储过程
PHP+mysql分页原理和实例应用.pdf
到此这篇关于mysql分页的limit参数的文章就介绍到这了,更多相关mysql分页limit参数内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网! 您可能感兴趣的文章:详解MySQL的limit...
java-web-mysql 分页demo,并附有sql文件,导入既可以使用!
ASP下查询MYSQL数据库的内容并对结果分页。 相当经典的一个代码。
利用easyUI结合MySQL数据库实现分页效果,使用DataGrid.html模板
PHP+MYSQL分页代码
mysql分页查询
QQ:510876005
自己写的一个通用分页工具.是基于hibernate mysql struts2 写的.直接可以部署到tomcat 运行 欢迎指正