JDBC数据库连接

来源:互联网 发布:js获取昨天日期 编辑:程序博客网 时间:2024/04/30 20:31
import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;public class JDBConnection {    public Connection conn = null; // 声明Connection对象的实例    public Statement stmt = null; // 声明Statement对象的实例    public ResultSet rs = null; // 声明ResultSet对象的实例        private static String dbClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//定义保存数据库驱动的变量    private static String dbUrl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DB_ATM";    private static String dbUser = "sa";    private static String dbPwd = "sa";    public JDBConnection(String propertyFileName) {// 带属性文件名的构造方法        Properties prop = new Properties();// 属性集合对象        InputStream is = null;        try {            is = JDBConnection.class.getClassLoader().getResourceAsStream(                    propertyFileName);// 属性文件输入流            // is = new FileInputStream("src/" + propertyFileName);            prop.load(is);// 将属性文件流装载到Properties对象中            is.close();// 关闭流            dbClassName = prop.getProperty("dbClassName");            dbUrl = prop.getProperty("dbUrl");            dbUser = prop.getProperty("dbUser");            dbPwd = prop.getProperty("dbPwd");        } catch (Exception e) {            System.out.println("属性文件  " + propertyFileName + " 打开失败!");        }        try {            Class.forName(dbClassName);// 1.注册驱动        } catch (ClassNotFoundException e) {            e.printStackTrace();        }    }    public JDBConnection() {// 默认的不带参数的构造函数        try {            Class.forName(dbClassName);// 1.注册驱动        } catch (ClassNotFoundException e) {            e.printStackTrace();        }    }    public static Connection getConnection() {        Connection conn = null;        try {            // Class.forName(dbClassName);// 1.注册驱动            conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);//2.建立与数据库的链接        } catch (Exception ee) {            ee.printStackTrace();        }        if (conn == null) {            System.err                    .println("警告: DbConnectionManager.getConnection() 获得数据库链接失败.\r\n\r\n链接类型:"                            + dbClassName                            + "\r\n链接位置:"                            + dbUrl                            + "\r\n用户/密码"                            + dbUser + "/" + dbPwd);        }        return conn;    }    /*     * 功能:执行查询语句     */    public ResultSet executeQuery(String sql) {        try { // 捕捉异常            conn = getConnection(); // 调用getConnection()方法构造Connection对象的一个实例conn            stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,//3.创建语句                    ResultSet.CONCUR_READ_ONLY);            rs = stmt.executeQuery(sql);//4.执行查询        } catch (SQLException ex) {            System.err.println(ex.getMessage()); // 输出异常信息        }        return rs; // 返回结果集对象 5.结果处理    }    /*     * 功能:执行更新操作     */    public int executeUpdate(String sql) {        int result = 0; // 定义保存返回值的变量        try { // 捕捉异常            conn = getConnection(); // 调用getConnection()方法构造Connection对象的一个实例conn            stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,                    ResultSet.CONCUR_READ_ONLY);            result = stmt.executeUpdate(sql); // 执行更新操作        } catch (SQLException ex) {            result = 0; // 将保存返回值的变量赋值为0        }        return result; // 返回保存返回值的变量    }    /*     * 功能:关闭数据库的连接     */    public void close() {//6.释放资源        try { // 捕捉异常            try {                if (rs != null) { // 当ResultSet对象的实例rs不为空时                    rs.close(); // 关闭ResultSet对象                }            } finally {                try {                    if (stmt != null) { // 当Statement对象的实例stmt不为空时                        stmt.close(); // 关闭Statement对象                    }                } finally {                    if (conn != null) { // 当Connection对象的实例conn不为空时                        conn.close(); // 关闭Connection对象                    }                }            }        } catch (Exception e) {            e.printStackTrace(System.err); // 输出异常信息        }    }}

属性文件
dbClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver
dbClassName2=com.mysql.jdbc.Driver
dbPwd=sa
dbPwd2=root
dbUrl=jdbc\:microsoft\:sqlserver\://localhost\:1433;DatabaseName\=DB_ATM
dbUrl2=jdbc\:mysql\://localhost\:3306/db_atm
dbUser=sa
dbUser2=root
原创粉丝点击