连接、关闭数据库工具类(封装好的工具类)

连接、关闭数据库工具类(封装好的工具类)
步骤(1)

package com.util;

import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

/**
 * 数据库工具类
 * @author Administrator
 *
 */
public class DBUtil {
	
	/**
	 * 登录数据库(获取数据库的连接)
	 * @return
	 */
	
	private static Properties props = new Properties();

	//静态代码块:仅执行一次,类加载时
	static{
			
			try {
				
				//加载外部文档
				props.load(new FileInputStream("config/db.properties")); //相对路径:相对于当前项目名称
			
				//1.载入JDBC驱动程序  : 驱动器仅需要加载一次就可以了,不用每次调用一次Connection()方法执行一次所以要抽到static 代码块中
				Class.forName(props.getProperty("driverClassName")); //驱动描述符 :连接的数据不用写固定,改变是时候不用修改代码化,只需要修改config(配置) 里面的连接就可以了 , props.getProperty(String key),通过 db.properties的key或者 驱动名 ,因为properties是一个Map 类   k : v ,通过修改db.properties修改不同数据库连接,# 在里面表示注释就不用修改代码块,降低了耦合度 
			
			} catch (IOException e) {
				e.printStackTrace();
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			} 
	}
	
	public static Connection getConnection()
	{
		try {
			
			//2.定义连接URL
			String url =props.getProperty("url"); //jdbc:oracle:thin:@<主机IP> :<数据库端口号>:<数据库服务名>
		
			//3.建立连接---登录数据库
			Connection conn = DriverManager.getConnection(url,props.getProperty("username"),props.getProperty("password"));
			
			return conn;
	
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		return null; // 引用类型的默认值为null
	}
	
	
	/**
	 * 释放资源(关闭数据库资源)
	 * @param conn
	 * @param stat
	 * @param rs
	 */
	public static void close(Connection conn,Statement stat,ResultSet rs)
	{
		//7.关闭连接
		//使用顺序:Connection-->Statement-->ResultSet
		//关闭顺序:ResultSet-->Statement-->Connection
		try {

			if(rs !=null)
			{
				rs.close();
				
			} 
		}catch (SQLException e) {
				
				e.printStackTrace();
		}
		
		try {

			if(stat !=null)
			{
				stat.close();
				
			} 
		}catch (SQLException e) {
				
				e.printStackTrace();
		}
		
		try {

			if(conn !=null)
			{
				conn.close();
				
			} 
		}catch (SQLException e) {
				
				e.printStackTrace();
		}	
		
	}
	
}



步骤(2):
在项目文件夹中建立一个config(配置)文件夹------>db.properties 文件,注意后缀是.properties,用于修改不同的数据库,这样就降低耦合性,代码要求高内聚低耦合,如果要更换不同的数据库连接只需要修改这个文件就可以了,就不用修改上面的代码了,所以是将低了耦合性 。# :表示注释
代码如下:下例连的是oracle数据库,所以注释了mysql数据库

#oracle   
driverClassName = oracle.jdbc.driver.OracleDriver
url = jdbc:oracle:thin:@localhost:1521:orcl
username = scott
password = 123456

#mysql
#driverClassName ="com.mysql.jdbc.Driver"
#url ="jdbc:mysql://localhost:3306/sqltestdb";
#username ="root"
#password ="123456"
发布了42 篇原创文章 · 获赞 9 · 访问量 8464
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览