java实现连接mysql工具类

来源:互联网 发布:淘宝商城哪年成立的 编辑:程序博客网 时间:2024/05/16 00:44
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"))

0 0
原创粉丝点击