DB
//static:只要类存在,成员标量就存在
private static String driver;
private static String url;
private static String user;
private static String userPassword;
//静态语句块加载类的同时会执行这段代码
static {
//找到对应的属性文件:db.properties
InputStream is = BaseDao.class.getClassLoader().getResourceAsStream("db.properties");
Properties props = new Properties();
try {
props.load(is);
//读取属性文件中各个key对应的值,复制给相对的成员变量
//成员变量名 = props.getProperty("driver");(属性文件的key值)
driver = props.getProperty("driver");
url = props.getProperty("url");
user = props.getProperty("user");
userPassword = props.getProperty("userPassword");
} catch (IOException e) {
e.printStackTrace();
}
}
//完成JDBC的第一步与第二步操作
public static Connection getConnection(){
Connection con = null;
// 1.加载并注册驱动
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection(url,user,userPassword);
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
//返回值connection
//完成JDBC的第678步
//查询操作时,关闭打开的对象
public static void close(ResultSet rs, PreparedStatement pstmt, Connection con){
try {
if (rs != null) rs.close();
//7.
if (pstmt != null) pstmt.close();
//8.
if (con != null && !con.isClosed() ) con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
//增删改操作时,关闭打开的对象
public static void close(PreparedStatement pstmt, Connection con){
//直接调用三个参数的关闭方法
close(null, pstmt, con);
}
白大褂&小孙

浙公网安备 33010602011771号