从properties配置文件中连接数据库

来源:互联网 发布:淘宝主图尺寸怎么换 编辑:程序博客网 时间:2024/06/06 15:49

DB.properties内容:

driver=com.mysql.jdbc.Driverurl=jdbc\:mysql\://localhost\:3306/demouserName=rootpassword=admin88


Java代码:

package util;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;public class JDBC {static JDBC j;Properties p;Connection conn;public static JDBC getInstance(){if(j==null){j=new JDBC();}return j;}public JDBC(){//读取配置文件try {p.load(JDBC.class.getResourceAsStream("/DB.properties"));//加载数据库的驱动类Class.forName(p.getProperty("driver"));} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blockSystem.out.println("没有驱动");e.printStackTrace();}}public Connection getConnection(){try {if(conn==null||conn.isClosed()){conn=DriverManager.getConnection(p.getProperty("url"),p.getProperty("userName"),p.getProperty("password"));System.out.println("连接成功!");}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}public void close(Connection conn,Statement stmt,ResultSet rs ){try {if(rs!=null){rs.close();}if(stmt!=null){stmt.close();}if(conn!=null){conn.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}


疑惑:使用main函数测试会抛出空指针异常

Exception in thread "main" java.lang.NullPointerExceptionat util.JDBC.<init>(JDBC.java:24)at test.ConnTest.main(ConnTest.java:7)

难道只能用junit单元测试么?
0 0
原创粉丝点击