封装JDBC的的模式

最近在做数据库的连接时,和同事对JDBC的封住有不同的方法,在这分析分析

  1、采用外部建util包,在持久层实现类中使用静态方法的 类名. 的方式调用方式;这种方法就是在加载sql驱动时,使用的是静态块,只加载一次,不用重复加载驱动

  

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

//数据库支持类
public class DBUtil {
    static{
        try {
            Class.forName("org.gjt.mm.mysql.Driver");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    //获得链接
    public static Connection getConnection(){
        
        Connection con = null;
        
        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myserver?characterEncoding=utf-8","root","lovo");
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return con;
    }
    
    //关闭链接
    public static void closeConnection(Connection con){
        try {
            if(con!=null){
                con.close();
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    
}

 2、采用BaseDao的方式,将其做成父类,在持久层实现类里继承这个类,用继承的方式来调用书写的方法

public class BaseDao {
    //声明
    protected Connection con;
    protected PreparedStatement ps;
    protected ResultSet rs;

    //建立连接
    public void setConnection() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/crm?characterEncoding=utf-8", "root",
                    "200888");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    //关闭连接
    public void closeConnection() {
        try {
            if (rs != null) {
                rs.close();
            }
            ps.close();
            con.close();

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

猜你喜欢

转载自www.cnblogs.com/xiyuanxiaorenwu/p/9148355.html