连接数据库的类

类别:Java 点击:0 评论:0 推荐:

这是我在网上找到的 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);

本文地址:http://com.8s8s.com/it/it18011.htm