日期:2014-05-16  浏览次数:20398 次

JAVA DBClass操作数据库,这样算不算单列模式
到底怎样才算单列模式,单列模式事什么概念

package cs.com;

import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

public class DBClass {
    public DBClass() {
    }

    //获得连接
    public Connection getConnection() {
        Connection con = null;
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            con = DriverManager.getConnection("jdbc:odbc:test", "", "");
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return con;
    }

    //执行插入修改删除Sql语句,返回影响的行数
    public int executeUpdate(String sql) {
        int count = 0;
        Connection con = this.getConnection();
        try {
            Statement sta = con.createStatement();
            count = sta.executeUpdate(sql);
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return count;
    }

    //查询数据库,返回结果集
    public ResultSet executeQuery(String sql) {
        ResultSet rs = null;
        Connection con = this.getConnection();
        try {
            Statement sta = con.createStatement();
            rs = sta.executeQuery(sql);
        } catch (SQLException ex) {
        }
        return rs;
    }


    /*********************************************************
     * PreparedStatement
     * 表示预编译的 SQL 语句的对象。
     * SQL 语句被预编译并且存储在 PreparedStatement 对象中。然后可以使用此对象高效地多次执行该语句。
     * 注:用来设置 IN 参数值的 setter 方法(setShort、setString 等等)必须指定与输入参数的已定义 SQL 类型兼容的类型。例如,如果 IN 参数具有 SQL 类型 INTEGER,那么应该使用 setInt 方法。
     * 如果需要任意参数类型转换,使用 setObject 方法时应该将目标 SQL 类型作为其参数的类型。
     * 例:
     * PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?");
     * pstmt.setBigDecimal(1, 153833.00)
     * pstmt.setInt(2, 110592)
     *************************************************************/

    // 执行数据库更新
    //<sql>为带问好的SQL语句,如select * from Cust where ID=?
    //<args>事替换SQL语句中问号的值的数组
    public void executeUpdate(String sql, String[] args) {
        Connection con = this.getConnect