工具类的代码为:
1、新建jdbc.properties
位置:在web工程src目录下新建config文件夹,存放该文件
className=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/mysql
user=root
password=admin
2、建立PropertiUtil.java
package com.weigeli.test.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
* 解析Properties通用方法
* @author weigeli
*
*/
public class PropertiUtil {
private Properties pro = null;
private String filePath;
public PropertiUtil(String filePath) {
this.filePath = filePath;
newPro();
}
// 获取pro对象
private void newPro() {
pro = new Properties();
InputStream is = this.getClass().getResourceAsStream("/" + filePath);
try {
pro.load(is);
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 传入key获取value
* @param key
* @return value
*/
public String getV(String key) {
return pro.getProperty(key);
}
}
3、建立DBUtil.java
package com.weigeli.test.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 数据库连接工具
* @author weigeli
*
*/
public class DBUtil {
private static PropertiUtil pu = new PropertiUtil("config/jdbc.properties");
private static Connection conn = null;
// 加载类的时候加载驱动
static {
try {
Class.forName(pu.getV("className"));
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 获取数据库连接
* @return Connection
*/
public static Connection getConn() {
try {
conn = (Connection) DriverManager.getConnection(pu.getV("url"), pu.getV("user"), pu.getV("password"));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
/**
* 关闭数据库连接
* @param rs
* @param st
* @param conn
*/
public static void closeAll(ResultSet rs, Statement st, Connection conn) {
try {
if (rs != null) {
rs.close();
}
if (st != null) {
st.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}