700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java读取properties文件 通过数据池(BasicDataSource)连接mysql数据库

java读取properties文件 通过数据池(BasicDataSource)连接mysql数据库

时间:2018-09-02 07:32:12

相关推荐

java读取properties文件 通过数据池(BasicDataSource)连接mysql数据库

作为一名新司,在这个问题上遇到了各种问题,最终还是一一解决了,在此分享一下我这1天1夜的心路历程,希望其他司机在这个地方不要翻车了。

下面是一个DBUtil类,用于管理数据库连接和回收,这里是回收不是关闭,数据库连接最后要回收到连接池中管理。

import mons.dbcp.BasicDataSource;import java.io.FileNotFoundException;import java.io.IOException;import java.sql.Connection;import java.util.Properties;/*** 该类用于管理数据库连接*/public class DBUtil {private static BasicDataSource ds;static{Properties prop =new Properties();try {prop.load(DBUtil.class.getClassLoader().getResourceAsStream("util/config.properties"));String className=prop.getProperty("classname");String url=prop.getProperty("url");String username=prop.getProperty("username");String password=prop.getProperty("password");int maxActive=Integer.parseInt(prop.getProperty("maxactive"));int maxWait=Integer.parseInt(prop.getProperty("maxwait"));//初始化连接池ds=new BasicDataSource();//将JDBC建立连接所需要的信息设置到连接池中ds.setDriverClassName(className);ds.setUrl(url);ds.setUsername(username);ds.setPassword(password);ds.setMaxActive(maxActive);ds.setMaxWait(maxWait);} catch (FileNotFoundException e) {System.out.println("打开文件失败");e.printStackTrace();}catch(IOException e){e.printStackTrace();}}//建立连接public static Connection getConnection() throws Exception{return ds.getConnection();}//关闭给定连接public static void closeConnection(Connection conn){/** 若该连接是通过连接池获取的,那么调用* 这个连接的close方法并不是与数据库断开* 连接了,而仅仅是将该连接还给连接池。*/try {conn.close();} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) throws Exception{Connection conn=DBUtil.getConnection();System.out.println(conn);DBUtil.closeConnection(conn);}}

1路径问题 config.properties 这个如果直接放在src包下,则直接写

prop.load(DBUtil.class.getClassLoader().getResourceAsStream("config.properties"));

路径写错我的控制台报错为

java.lang.ExceptionInInitializerError

Caused by: java.lang.NullPointerException

at java.util.Properties$LineReader.readLine(Properties.java:418)

at java.util.Properties.load0(Properties.java:337)

at java.util.Properties.load(Properties.java:325)

at util.DBUtil.<clinit>(DBUtil.java:22)

Exception in thread "main"

并且会有弹窗。

2导包。总共导入4个包

3出错怎么办,我的方法是百度,百度不出来怎么办,继续百度吧

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。