📄 dbutil.java
字号:
package com.lovo.util;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
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;
/**
* <p>
* Copyright (C),2008,9
*
* Filename: DBUtil
*
* Desctiptoin: 数据库连接类
*
* @author lovo39部5组
*/
public class DBUtil {
/** 连接的URL */
private static String url;
/** 反射对象的类名 */
private static String className;
/** 资源文件名 */
private static final String FILE_NAME = "dbCon.properties";
/** 数据库连接类对象 */
private static DBUtil dBUtil;
/** 数据库连接对象 */
private Connection con;
/** 预编译语句对象 */
private PreparedStatement pre;
/** 结果集对象 */
private ResultSet rs;
public DBUtil() {
}
/**
* 加载资源文件
*/
static {
Properties pro = new Properties();
try {
String path=DBUtil.class.getClassLoader().getResource(FILE_NAME).getFile();
pro.load(new FileInputStream(path.substring(1)));
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("文件没有找到");
} catch (IOException e1) {
e1.printStackTrace();
System.out.println("文件读取异常");
}
url = pro.getProperty("url");
className = pro.getProperty("driver");
}
/**
* 获得资源文件路径
*
* @param fileName
* 资源文件名
* @return
*/
private static String getPath(String fileName) {
StringBuffer sb = new StringBuffer();
sb.append(System.getProperty("user.dir"));
sb.append("/properties/");
sb.append(fileName);
return sb.toString();
}
/**
* 单例模式获得数据库连接类对象
*
* @return DBUtil 数据库连接类对象
*/
public synchronized static DBUtil getDBUtil() {
if (dBUtil == null) {
dBUtil = new DBUtil();
}
return dBUtil;
}
/**
* 获得数据库连接对象
*
* @return Connection
*/
public Connection getConnection() {
try {
Class.forName(className);
this.con = DriverManager.getConnection(url);
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("类不存在");
} catch (SQLException e1) {
e1.printStackTrace();
System.out.println("数据库连接异常");
}
return con;
}
/**
* 获得预编译语句对象
*
* @return PreparedStatement
*/
public PreparedStatement getPre(Connection con, String sql) {
try {
pre = con.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库异常");
}
return pre;
}
/**
* 获得结果集对象
*
* @return ResultSet
*/
public ResultSet getRs(PreparedStatement pre) {
try {
rs = pre.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库异常");
}
return rs;
}
/**
* 关闭结果集
*
* @param rs
* 结果集对象
*/
public void close(ResultSet rs) {
try {
if(rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
System.out.println("结果集关闭异常");
}
}
/**
* 关闭预编译语句
*
* @param pre
* 预编译语句对象
*/
public void close(PreparedStatement pre) {
try {
if(pre != null) {
pre.close();
}
} catch (SQLException e) {
e.printStackTrace();
System.out.println("预编译语句关闭异常");
}
}
/**
* 关闭数据库连接
*
* @param con
* 数据库连接对象
*/
public void close(Connection con) {
try {
if(con != null) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接对象关闭异常");
}
}
public static void main(String[] args) {
DBUtil.getDBUtil().getConnection();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -