数据库的链接的操作类
package utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBConnection { private static final String DBDRIVER = "com.mysql.jdbc.Driver" ; //驱动类类名 private static final String DBURL = "jdbc:mysql://localhost:3306/db_votemanage";//连接URL private static final String DBUSER = "root" ; //数据库用户名 private static final String DBPASSWORD = "root"; //数据库密码 public static Connection getConnection(){ Connection conn = null; //声明一个连接对象 try { Class.forName(DBDRIVER); //注册驱动 conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD); //获得连接对象 } catch (ClassNotFoundException e) { //捕获驱动类无法找到异常 e.printStackTrace(); } catch (SQLException e) { //捕获SQL异常 e.printStackTrace(); } return conn; } public static void close(Connection conn) {//关闭连接对象 if(conn != null) { //如果conn连接对象不为空 try { conn.close(); //关闭conn连接对象对象 } catch (SQLException e) { e.printStackTrace(); } } } public static void close(PreparedStatement pstmt) {//关闭预处理对象 if(pstmt != null) { //如果pstmt预处理对象不为空 try { pstmt.close(); //关闭pstmt预处理对象 } catch (SQLException e) { e.printStackTrace(); } } } public static void close(ResultSet rs) {//关闭结果集对象 if(rs != null) { //如果rs结果集对象不为null try { rs.close(); //关闭rs结果集对象 } catch (SQLException e) { e.printStackTrace(); } } } }
分页的工具类
package utils; public class Page { private int everyPage; //每页显示记录数 private int totalCount; //总记录数 private int totalPage; //总页数 private int currentPage; //当前页 private int beginIndex; //查询起始点 private boolean hasPrePage; //是否有上一页 private boolean hasNextPage; //是否有下一页 public Page(int everyPage, int totalCount, int totalPage, int currentPage,int beginIndex, boolean hasPrePage, boolean hasNextPage) { //自定义构造方法 this.everyPage = everyPage; this.totalCount = totalCount; this.totalPage = totalPage; this.currentPage = currentPage; this.beginIndex = beginIndex; this.hasPrePage = hasPrePage; this.hasNextPage = hasNextPage; } public Page(){} //默认构造函数 public int getEveryPage() { //获得每页显示记录数 return everyPage; } public void setEveryPage(int everyPage) {//设置每页显示记录数 this.everyPage = everyPage; } public int getTotalCount() {//获得总记录数 return totalCount; } public void setTotalCount(int totalCount) {//设置总记录数 this.totalCount = totalCount; } public int getTotalPage() {//获得总页数 return totalPage; } public void setTotalPage(int totalPage) {//设置总页数 this.totalPage = totalPage; } public int getCurrentPage() {//获得当前页 return currentPage; } public void setCurrentPage(int currentPage) {//设置当前页 this.currentPage = currentPage; } public int getBeginIndex() {//获得查询起始点 return beginIndex; } public void setBeginIndex(int beginIndex) {//设置查询起始点 this.beginIndex = beginIndex; } public boolean isHasPrePage() {//获得是否有上一页 return hasPrePage; } public void setHasPrePage(boolean hasPrePage) {//设置是否有上一页 this.hasPrePage = hasPrePage; } public boolean isHasNextPage() {//获得是否有下一页 return hasNextPage; } public void setHasNextPage(boolean hasNextPage) {//设置是否有下一页 this.hasNextPage = hasNextPage; } } ------------------------------------------------------------------------------- package utils; /* * 分页信息辅助类 */ public class PageUtil { public static Page createPage(int everyPage,int totalCount,int currentPage) {//创建分页信息对象 everyPage = getEveryPage(everyPage); currentPage = getCurrentPage(currentPage); int totalPage = getTotalPage(everyPage, totalCount); int beginIndex = getBeginIndex(everyPage, currentPage); boolean hasPrePage = getHasPrePage(currentPage); boolean hasNextPage = getHasNextPage(totalPage, currentPage); return new Page(everyPage, totalCount, totalPage, currentPage, beginIndex, hasPrePage, hasNextPage); } public static int getEveryPage(int everyPage) { //获得每页显示记录数 return everyPage == 0 ? 10 : everyPage; } public static int getCurrentPage(int currentPage) { //获得当前页 return currentPage == 0 ? 1 : currentPage; } public static int getTotalPage(int everyPage,int totalCount) {//获得总页数 int totalPage = 0; if(totalCount != 0 &&totalCount % everyPage == 0) { totalPage = totalCount / everyPage; } else { totalPage = totalCount / everyPage + 1; } return totalPage; } public static int getBeginIndex(int everyPage,int currentPage) {//获得起始位置 return (currentPage - 1) * everyPage; } public static boolean getHasPrePage(int currentPage) {//获得是否有上一页 return currentPage == 1 ? false : true; } public static boolean getHasNextPage(int totalPage, int currentPage) { //获得是否有上一页 return currentPage == totalPage || totalPage == 0 ? false : true; } }
时间: 2024-10-26 02:24:17