一个固定的数据库的连接类

来源:互联网 发布:工控机编程用什么语言 编辑:程序博客网 时间:2024/04/28 16:37

本次的例子是一个连接MySQL数据库:

package com.dujiang.dbc;import java.sql.*;/** * 整个的操作过程中,DatabaseConnection只是无条件的提供有数据库连接,而至于说有多少个线程 * 需要找到此类要连接的对象,根本类都无关,要的时候我自然会给你连接。 * 本类就是专门负责数据库的连接与关闭操作,在实例化本类对象时意味着要进行数据库的开发 * 所以本类的构造方法里要进行数据库驱动的加载和数据库连接的取得 */public class DatabaseConnection {    private String url = "jdbc:mysql://127.0.0.1:3306/book";    private String username = "blf";    private String password = "123456";    /**     * 在构造方法里面为conn对象进行实例化,可以直接取得数据库的连接对象     * 由于所有的操作对象都是基于数据库完成的,如果数据库不能取得连接,那么也就意味着所有的操作都可以停止了     *      * @return     * @throws SQLException     */    public Connection getConnection() throws SQLException {        try {            Class.forName("com.mysql.jdbc.Driver");        } catch (ClassNotFoundException e) {            e.printStackTrace();        }        Connection conn = DriverManager.getConnection(url, username, password);        return conn;    }/** *   * @param rs * @param ps * @param conn */    public void close(ResultSet rs,PreparedStatement ps,Connection conn) {        close(rs);        close(ps);        close(conn);    }    /**     * 更新操作释放资源     * PreparedStatement ps     * Connection conn     */    public void close(PreparedStatement ps,Connection conn) {        close(ps);        close(conn);    }/** * 负责数据库的关闭 * @param rs */    public void close(ResultSet rs) {        if(rs != null){            try {                rs.close();            } catch (SQLException e) {                e.printStackTrace();            }        }    }    public void close(PreparedStatement ps) {        if(ps != null){            try {                ps.close();            } catch (SQLException e) {                e.printStackTrace();            }        }    }    public void close(Connection conn) {        if(conn != null){            try {                conn.close();            } catch (SQLException e) {                e.printStackTrace();            }        }    }}/** * 附加:从最早的DAO设计模式来讲还会考虑到一个问题,多数据库间的移植问题 * 此时就需要一个专门的表示连接标准的接口。考虑到在现实的开发之中,第三方开发 * 框架平台越来越完善,所以也不会有上面所述的复杂操作。 */
0 0
原创粉丝点击