JDBC.java
package com.imooc.jdbc.utils;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
public class JDBCUtils {
private static final String driverClass;
private static final String url;
private static final String username;
private static final String password;
static {
//加载属性文件并解析
Properties props = new Properties();
//获得属性文件输入流
//通过类的加载器进行获取
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
try {
props.load(is);
} catch (IOException e) {
e.printStackTrace();
}
driverClass = props.getProperty("driverClass");
url = props.getProperty("url");
username = props.getProperty("username");
password = props.getProperty("password");
}
/**
* 注册驱动的方法
* @throws Exception
*/
public static void loadDriver() throws Exception{
Class.forName(driverClass);
}
/**
* 获得数据库连接
* @return conn
* @throws Exception
*/
public static Connection getConnection() throws Exception{
loadDriver();
Connection conn = DriverManager.getConnection(url,username,password);
return conn;
}
/**
* 关闭数据库的连接 重载
* @param stmt
*/
public static void release(Connection conn){
if (conn != null){
try {
conn.close();
}catch (SQLException e){
e.printStackTrace();
}
conn = null;
}
}
/**
* 关闭数据库的连接 重载
* @param stmt
* @param conn
*/
public static void release(Statement stmt,Connection conn){
if (stmt != null){
try {
stmt.close();
} catch (SQLException e){
e.printStackTrace();
}
stmt = null;
}
if (conn != null){
try {
conn.close();
}catch (SQLException e){
e.printStackTrace();
}
conn = null;
}
}
/**
* 关闭数据库的连接 重载
* @param rs
* @param stmt
* @param conn
*/
public static void release(ResultSet rs, Statement stmt, Connection conn){
if (rs != null){
try {
rs.close();
}catch (SQLException e){
e.printStackTrace();
}
rs = null;
}
if (stmt != null){
try {
stmt.close();
}catch (SQLException e){
e.printStackTrace();
}
stmt = null;
}
if (conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn = null;
}
}
}
jdbc.properties
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/jdbctest?useUnicode=true&characterEncoding=utf-8&useSSL=false
username=root
password=123456
Main.java
package com.imooc.jdbc.utils;
import java.sql.Connection;
public class Main {
public static void main(String[] args) {
//测试连接
Connection conn = null;
try {
conn = JDBCUtils.getConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.release(conn);
}
}
}