📄 abstractdao.java
字号:
package com.j1132.dao;
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* 提供给系统中所有的dao来继承
* <p>
* 功能:1.获取连接 2.关闭资源
*
* @author caorui
*
*/
public abstract class AbstractDao {
// 数据库的驱动类
private static String DRIVER = "";
// 数据库连接的URL
private static String URL = "";
// 数据库的用户名
private static String USERNAME = "";
// 数据库的密码
private static String PASSWORD = "";
// 属性文件的路径
private static final String FILEPATH = "C:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SeaFood/WEB-INF/database.properties";
public AbstractDao() {
}
/**
* 当这个类被加载的时候调用
* <p>
* 功能:读取属性文件获取数据库的连接信息
*
*/
static {
try {
// 创建属性文件的输入流
FileInputStream fis = new FileInputStream(new File(FILEPATH));
// 创建属性对象
Properties prop = new Properties();
// 读取输入流中的数据到属性对象
prop.load(fis);
// 通过属性对象中的值分别给数据库的连接信息给值
DRIVER = prop.getProperty("driver");
URL = prop.getProperty("url");
USERNAME = prop.getProperty("username");
PASSWORD = prop.getProperty("password");
fis.close();
} catch (Exception e) {
System.out.println("读取database.properties文件失败");
}
}
/**
* 获得数据库的连接
*
* @return
*/
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (Exception e) {
System.out.println("数据库连接错误");
e.printStackTrace();
}
return conn;
}
/**
* 关闭资源
*
* @param rs
* 结果集
* @param stmt
* 语句对象
* @param conn
* 连接
*/
public void close(ResultSet rs, Statement stmt, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
System.out.println("关闭结果集错误");
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
System.out.println("关闭语句对象错误");
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
System.out.println("关闭连接错误");
e.printStackTrace();
}
}
}
/**
* true:测试失败 false:测试成功
*
* @param args
*/
public static void main(String[] args) {
try {
System.out.println(AbstractDao.getConnection().isClosed());
} catch (SQLException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -