⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractdao.java

📁 cantain海鲜超市管理系统
💻 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 + -