`
robinsoncrusoe
  • 浏览: 736572 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

JAVA DBClass操作数据库,这样算不算单列模式

    博客分类:
  • JAVA
阅读更多
到底怎样才算单列模式,单列模式事什么概念

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.getConnection();
        try {
            PreparedStatement pstat = con.prepareStatement(sql);
            for (int i = 0; i < args.length; i++) {
                pstat.setString(i + 1, args[i]); //循环用args数组中的值替换SQL语句理的问号“?”
            }
            pstat.executeUpdate(); //执行SQL语句
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }  
}







http://hi.baidu.com/kaixinpengpeng/blog/item/e860998fb32af7fe503d924a.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics