数据库技术日益强大,成为必需,在编写程序时必须得连接数据库。但是每次连接数据库都得写一大段相同的连接数据库的代码,这样就加大了代码量浪费了时间,那么既然是重复的步骤,我们能不能把它当做一个函数一样,用时调用就好,于是就有了对其的封装:
public class DBUtil {
// 解决维护性功能 properties
private static String driver ;
private static String url ;
private static String jdbcuser ;
private static String pwd ;
public Connection conn = null;
public PreparedStatement pstm = null;
public ResultSet rs = null;//这里都定义为全局变量方便操作
public static Properties properties = new Properties();
// 获取db.properties资源 , static方法代表软件一打开就会自动加载资源文件,这里更简化了代码量,并容易更改;
static {
try {
properties.load(DBUtil.class.getClassLoader().getResourceAsStream("db.properties"));
driver = properties.getProperty("driver");
url = properties.getProperty("url");
jdbcuser = properties.getProperty("jdbcuser");
pwd = properties.getProperty("pwd");
} catch (IOException e) {
e.printStackTrace();
}
}
// 1. 实现数据库连接的获取
public Connection getConn(){
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, jdbcuser, pwd);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}
db.properties中代码(这样写方便更改数据库)
driver="com.mysql.jdbc.Driver";//
url="jdbc:mysql://127.0.0.1:3306/db_java1ssm?useSSL=true&characterEncoding=utf-8";//这里为自己要连接的数据库,当然端口也是会变的;
jdbcuser="root";//安装Mysql时的密码和用户名
pwd="****";//输入自己的密码
最后在将关闭(释放)数据库连接封装,也是重复内容。
//实现数据库资源释放
public void closeResource(ResultSet rs, PreparedStatement pstm,Connection conn){
if(rs!=null){
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if(pstm!=null){
try {
pstm.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```以上