由于每次进行查询或更新数据库的时候都要连接一遍数据库,操作会重复好多次,干脆直接给这些东西封装成一个类就好了。
封装后就能直接愉快的getconnection()了
package com.baidu.util;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
/**
* @Classname: JdbcUtils
* @author Firedance
* @version 2018年5月16日 下午8:04:55
*
*/
public class JdbcUtils {
private static String driver;
private static String url;
private static String user;
private static String password;
static {
Properties prop = new Properties();
try {
//获取外部文件"jdbc.properties"的资源流
prop.load(JdbcUtils.class.getClassLoader().getResourceAsStream("jdbc.properties"));
//从资源流里获取各个属性的值
driver=prop.getProperty("driver");
url=prop.getProperty("url");
user=prop.getProperty("user");
password=prop.getProperty("password");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
//加载数据库驱动
Class.forName(driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//get链接方法
public static Connection getConnection(){
Connection conn = null;
try {
//获取数据库链接
conn = DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
//关流方法
public static void close(ResultSet res,PreparedStatement pst,Connection conn) {
if(null !=res) {
try {
res.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(null !=pst) {
try {
pst.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(null !=conn) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
-----------------------------------------------------------
“jdbc.properties”文件就给放在src里,还有“jdbc.properties”文件里面要这样写:这里我连接的是MySQL
driver=com.mysql.jdbc.Driver
url=jdbc\:mysql\://localhost\:3306/写你的数据库名字
user=写你的用户名
password=写你的登录密码