美文网首页
【Java】【JDBC】封装简单MyDatabase类

【Java】【JDBC】封装简单MyDatabase类

作者: JerichoPH | 来源:发表于2017-04-08 09:54 被阅读63次

封装简单MyDatabase类

/**
 * 测试类
 */
public class Demo {
    public static void main(String[] args) throws Exception {
        Connection conn = MyDatabase.getConn();
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("select * from user");
        List<User> list = new ArrayList<>();
        while (rs.next()) {
            User u = new User();
            u.setId(rs.getInt("id"));
            u.setSigninName(rs.getString("signin_name"));
            u.setPwd(rs.getString("pwd"));
            list.add(u);
        }
    
        for (User user :
                list) {
            System.out.println(user);
        }
    }
}

/**
 * User表实体类
 */
class User {
    private int id;
    private String signinName;
    private String pwd;
    
    public int getId() {
        return id;
    }
    
    public void setId(int id) {
        this.id = id;
    }
    
    public String getSigninName() {
        return signinName;
    }
    
    public void setSigninName(String signinName) {
        this.signinName = signinName;
    }
    
    public String getPwd() {
        return pwd;
    }
    
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
    
    @Override
    public String toString() {
        return "User{" +
                       "id=" + id +
                       ", signinName='" + signinName + '\'' +
                       ", pwd='" + pwd + '\'' +
                       '}';
    }
}

/**
 * 数据库工具类
 */
public class MyDatabase {
    private static String driverName = null;
    private static String sqlUrl = null;
    private static String uid = null;
    private static String pwd = null;

    static {
    //  读取数据库配置文件
        ResourceBundle rb = ResourceBundle.getBundle("db");
        driverName = rb.getString("driverName");
        sqlUrl = rb.getString("sqlUrl");
        uid = rb.getString("uid");
        pwd = rb.getString("pwd");
    
    //  获取数据库驱动
        try {
            Class.forName(driverName);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 创建连接
     *
     * @return Connection 连接对象
     */
    public static Connection getConn() throws Exception {
        return DriverManager.getConnection(sqlUrl, uid, pwd);
    }

    /**
     * 关闭连接 释放资源
     *
     * @param conn 关闭数据库链接
     * @param stmt 关闭操作对象
     * @param rs   释放结果集
     */
    public static void kill(Connection conn, Statement stmt, ResultSet rs) throws Exception {
        if (conn != null) {
            conn.close();
        }
        if (stmt != null) {
            stmt.close();
        }
        if (stmt != null) {
            rs.close();
        }
    }
}

相关文章

网友评论

      本文标题:【Java】【JDBC】封装简单MyDatabase类

      本文链接:https://www.haomeiwen.com/subject/piclattx.html