java实现连接mysql工具类

package com.wangjue.util;

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;



public class DBUtil {
	private static Connection conn = null;
	private static Properties pro = new Properties();
	//加载驱动,使用静态块,只需要加载一次
	static {
		try {
			/**
			 * 加载配置文件的两种方法,任选一种都可以
			 */
			//pro.load(DBUtil.class.getResourceAsStream("/DBUtil.properties"));
			pro.load(DBUtil.class.getClassLoader().getResourceAsStream("DBUtil.properties"));
			String DRIVER = pro.getProperty("DRIVER");
			Class.forName(DRIVER);			
		} catch (IOException e) {
			
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
	//获取Connection连接对象的方法,使用static方便之后在其他类中调用
	public static Connection getConn() {
		try {
			conn = DriverManager.getConnection(
					pro.getProperty("URL"),
					pro.getProperty("USER"),
					pro.getProperty("PWD"));
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}
	//关闭资源的方法
	public  static void close(ResultSet rs,PreparedStatement ps,Connection conn) {
		if(rs!=null) {
			try {
				rs.close();
			} catch (SQLException e) {		
				e.printStackTrace();
			}			
		}
		if(ps!=null) {
			try {
				ps.close();
			} catch (SQLException e) {		
				e.printStackTrace();
			}			
		}
		if(conn!=null) {
			try {
				conn.close();
			} catch (SQLException e) {		
				e.printStackTrace();
			}			
		}		
	}
	
}

总结:

1、创建一个这样的工具类,可以做为dao层使用,用类名.方法名直接调用

2、加载配置文件时ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别

我的文件结构是:src--》包--》DBUTil工具类

                                 --》配置文件

Class.getResourceAsStream() 会指定要加载的资源路径与当前类所在包的路径一致,我将配置文件放在src下,因此使用这个方法加入/,表示从classpath的根路径(src)下开始查找

因此:使用这个方法的相对路径是:

pro.load(DBUtil.class.getResourceAsStream("/DBUtil.properties"))

ClassLoader.getResourceAsStream()  无论要查找的资源前面是否带'/' 都会从classpath的根路径下查找

因此:使用这个方法的相对路径是:

pro.load(DBUtil.class.getClassLoader().getResourceAsStream("DBUtil.properties"))

猜你喜欢

转载自blog.csdn.net/wangdajiao/article/details/54344693