首页 > 网站 > 建站经验 > 正文

一个通用的JS、P分页类,具有显示多组页码功能

2019-11-02 14:26:11
字体:
来源:转载
供稿:网友

  最近几天学习jsp觉得很好,写了个分页类,给大家分享一下,同时也请高手指点。

  第一部分:db.MysqlConn 数据库链接类

  /*************

中国古近代历史研究网站[www.9-39.com]
*********************************************

  路径:zon.db.MysqlConn

  文件:MysqlConn.java

  用途:数据库连接

package db;import java.sql.*;import javax.xml.parsers.*;import org.w3c.dom.*;import org.xml.sax.SAXException;import java.io.*;//导入数据库操作的类public class MysqlConn {   private Connection conn;  //连接对象        private Statement stmt;  //语句对象    private ResultSet rs;    //结果集对象 private String MySqldriver="com.mysql.jdbc.Driver";  //MYSQL Server驱动程序字符串 private String MySqlURL =  "jdbc:mysql://";  //MYSQL Server连接字符串 String databasex; String webRealPath="D://zon//WebRoot//";  //根路径实际路径,用于读取数据库链接参数的配置文件 database.xml  // 定义数据库链接参数变量 String server="localhost"; String dbname="phpzon"; String user="admin"; String pass="admin"; String port="3306"; String dbchara="utf-8"; String dbprefix="zon_"; //表前缀     public void setDatabasex(String databasex){        this.databasex = databasex;    }    public String getDatabasex(){         return databasex;    }    public void setWebRealPath(String webRealPath){        this.webRealPath = webRealPath;    }    public String getWebRealPath(){         return webRealPath;    }  /********************************************************************  用  com.mysql.jdbc.Driver 驱动 *  该方法取得连接所需各种参数,组成连接字符串,*  然后再建立连接*  server;dbname,user,pass,port *  分别表示MYSQL 服务器的地址、数据库名、用户名、密码、端口,*  本方法已作改造,直接通过配置文件 WEB-INF//database.xml 读取链接信息********************************************************************/public Connection getMysqlConn(){             //根据数据库配置文件获得数据库链接参数  database.xml    //建立解析工厂    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();    factory.setIgnoringElementContentWhitespace(true);//忽略元素内容中的空格    //创建解析器    DocumentBuilder dbxml;    try {      dbxml = factory.newDocumentBuilder();     //得到解析文件           Document doc;     try {      doc = dbxml.parse("file:///"+webRealPath+"WEB-INF//database.xml");      doc.normalize();      //得到根元素      //Element root = doc.getDocumentElement();      //得到所有db元素      //NodeList dbs = doc.getElementsByTagName("db");      //NodeList dbType = doc.getElementsByTagName("type");      NodeList dbDriver = doc.getElementsByTagName("driver");      NodeList dbUrl = doc.getElementsByTagName("url");      NodeList dbServer = doc.getElementsByTagName("server");      NodeList dbPort =doc.getElementsByTagName("port");      NodeList dbDbname =doc.getElementsByTagName("dbname");      NodeList dbUser =doc.getElementsByTagName("user");      NodeList dbPassword =doc.getElementsByTagName("password");      NodeList dbChara =doc.getElementsByTagName("chara");      NodeList dbPrefix =doc.getElementsByTagName("prefix");            //获取各参数值        int i=0;      MySqldriver = dbDriver.item(i).getFirstChild().getNodeValue(); //MYSQl驱动程序 MySqldriver = "com.mysql.jdbc.Driver";          MySqlURL = dbUrl.item(i).getFirstChild().getNodeValue(); //链接路径 "jdbc:mysql://";       server = dbServer.item(i).getFirstChild().getNodeValue(); //数据库服务器地址      port = dbPort.item(i).getFirstChild().getNodeValue(); //数据库端口 默认 3306      dbname = dbDbname.item(i).getFirstChild().getNodeValue(); //数据库名称      user = dbUser.item(i).getFirstChild().getNodeValue(); //用户名      pass = dbPassword.item(i).getFirstChild().getNodeValue(); //密码      dbchara = dbChara.item(i).getFirstChild().getNodeValue(); //数据库编码      dbprefix = dbPrefix.item(i).getFirstChild().getNodeValue(); //表名前缀            try{//完整的连接字符串       MySqlURL=MySqlURL+server+":"+port+"/"+dbname+"?user="+user+"&password="+pass+"&useUnicode=true&characterEncoding="+dbchara;               Class.forName(MySqldriver);       conn = DriverManager.getConnection(MySqlURL);        }        catch(Exception e){         System.out.println("操作数据库出错,请仔细检查");         System.err.println(e.getMessage());        }               } catch (SAXException e) {      // TODO Auto-generated catch block      e.printStackTrace();     } catch (IOException e) {      // TODO Auto-generated catch block      e.printStackTrace();     }             } catch (ParserConfigurationException e1) {     // TODO Auto-generated catch block     e1.printStackTrace();    }        return conn;     }   /* * 执行sql 语句,返回记录集 ,主要针对 select、show语句 */public ResultSet sqlQuery(String sql){ sql=SetQuery(sql); Statement temStmt = null;  //语句对象    ResultSet temRs = null;    //结果集对象 Connection temConn=this.getMysqlConn();     try {   temStmt=temConn.createStatement();   //执行sql查询语句,得到记录集   temRs=temStmt.executeQuery(sql);     } catch (SQLException e) {   // TODO Auto-generated catch block   e.printStackTrace();  }    return temRs;  }/* * 执行Insert sql 语句   */public void sqlInsert(String sql){    sql=SetQuery(sql);  try {    this.getMysqlConn().createStatement().executeUpdate(sql);          } catch (SQLException e) {   // TODO Auto-generated catch block   e.printStackTrace();  }}/* * 执行update sql 语句   */public void sqlUpdate(String sql){ sql=SetQuery(sql); try {   this.getMysqlConn().createStatement().executeUpdate(sql);         } catch (SQLException e) {  // TODO Auto-generated catch block  e.printStackTrace(); }}/* * 执行delete sql 语句    */public void sqlDelete(String sql){ sql=SetQuery(sql); try {   this.getMysqlConn().createStatement().executeUpdate(sql);         } catch (SQLException e) {  // TODO Auto-generated catch block  e.printStackTrace(); }}/* * 执行sql 语句,返回记录总数 ,主要针对 select语句 */public int sqlTotalRow(String sql){ Statement temStmt = null;  //语句对象    ResultSet temRs = null;    //结果集对象 int result = 0; //结果值 Connection temConn=this.getMysqlConn();     try {   temStmt=temConn.createStatement();   //执行sql查询语句,得到记录集   temRs=temStmt.executeQuery(sql);   temRs.last();   result = temRs.getRow();       } catch (SQLException e) {   // TODO Auto-generated catch block   e.printStackTrace();  }    return result;  }//设置SQL语句,会自动把SQL语句里的dede_替换为 配置文件中的 表 前缀 zon_public String SetQuery(String sql){  String prefix="dede_";  sql = sql.replace(prefix, this.dbprefix);  return sql;}//关闭数据库连接public void close(){      try{      //rs.close();      //stmt.close();      conn.close();      }      catch(SQLException sqlexception){      sqlexception.printStackTrace();      }     }} 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表