这是我在网上找到的 CODE 基础上加以修改后自己用来连接数据库的类。
分为三个部分:参数设置,数据库连接,后面还附有应用例子。
如果不能直接应用请与我联系: [email protected]
/************************* * 连接数据库的参数设置 *************************/
package net.asales.mysql;
public class BeansConstants { public static String dbdriver; public static String dburl; private String database = "asales"; private String usr = "root"; private String passwd = ""; private BeansConstants(String dbms) { //当前只设置了 mysql 的驱动程序 if (dbms == "mysql") { this.dbdriver = "org.gjt.mm.mysql.Driver"; this.dburl = "jdbc:mysql://localhost/" + this.database + "?useUnicode=true&characterEncoding=gb2312" + "&user=" + this.usr + "&password=" + this.passwd; } else { this.dbdriver = "none"; } } public static BeansConstants getInstance(String dbms) { BeansConstants bc = new BeansConstants(dbms); return bc; } public String getDatabase() { return this.database; } public String getUsr() { return this.usr; } public String getPasswd() { return this.passwd; } public String getDbdriver() { return this.dbdriver; } public String getDburl() { return this.dburl; } public void setDatabase(String database) { this.database = database; } public void setUsr(String usr) { this.usr = usr; } public void setPasswd(String passwd) { this.passwd = passwd; } public static void main(String[] args) { BeansConstants CONST = BeansConstants.getInstance("mysql"); System.out.println("driver = " + CONST.dbdriver + "\nurl = " + CONST.dburl); } }
/***************************** * 处理数据库的连接和访问 * @author javen * @version 0.98 *****************************/
package net.asales.mysql;
import java.sql.*; import java.io.*;
public class Mysql { private Connection conn = null; private Statement stmt = null; private PreparedStatement prepstmt = null;
//这是一个全局类,里面放置数据库的参数,如数据库主机 访问用户名 密码等 private BeansConstants CONST = BeansConstants.getInstance("mysql");
/** * 构造数据库的连接和访问类 */ public Mysql() throws Exception { Class.forName(CONST.dbdriver); conn = DriverManager.getConnection(CONST.dburl); stmt = conn.createStatement(); } public Mysql(String sql) throws Exception { Class.forName(CONST.dbdriver); conn = DriverManager.getConnection(CONST.dburl); this.prepareStatement(sql); }
/** * PreparedStatement * @return sql 预设SQL语句 */ public void prepareStatement(String sql) throws SQLException { prepstmt = conn.prepareStatement(sql); }
public Connection getConn() { return this.conn; } public Statement getStmt() { return this.stmt; } public PreparedStatement getPrepstmt() { return this.prepstmt; } /** * 执行SQL语句返回字段集 * @param sql SQL语句 * @return ResultSet 字段集 */ public ResultSet executeQuery(String sql) throws SQLException { if (stmt != null) { return stmt.executeQuery(sql); } else return null; }
public ResultSet executeQuery() throws SQLException { if (prepstmt != null) { return prepstmt.executeQuery(); } else return null; } /** * 执行SQL语句 * @param sql SQL语句 */ public void executeUpdate(String sql) throws SQLException { if (stmt != null) stmt.executeUpdate(sql); }
public void executeUpdate() throws SQLException { if (prepstmt != null) prepstmt.executeUpdate(); }
/** * 关闭连接 */ public void close() throws Exception { if (stmt != null) { stmt.close(); stmt = null; } if (prepstmt != null) { prepstmt.close(); prepstmt = null; } conn.close(); conn = null; } }
//连接案例
<%@ page import="java.sql.*" %> <jsp:useBean id="SQL" scope="session" class="net.asales.mysql.Mysql" /> sql = "SELECT * FROM table";
ResultSet rs = SQL.executeQuery(sql);
sql = "INSERT INTO table (id, name) values('', '')";
SQL.executeUpdate(sql); 
|