Oracle 使用配置文件来配置JDBC连接数据库

来源:互联网 发布:大数据 统计区别 编辑:程序博客网 时间:2024/05/23 20:13

首先配置文件保存为config.properties放在包内。

driver=oracle.jdbc.driver.OracleDriverurl=jdbc:oracle:thin:@localhost:3306user=rootpwd=rootinitsize=1maxactive=1maxwait=5000maxidle=1minidle=1

然后导入
这里写图片描述
数据库连接管理类

package day01;import java.io.InputStream;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;import org.apache.commons.dbcp.BasicDataSource;/** * 使用连接池技术管理数据库连接 * @author Administrator */public class DBUtil2 {    //数据库连接池    private static BasicDataSource ds;    //为不同线程管理连接    private static ThreadLocal<Connection> tl;    static{        try{            Properties prop= new Properties();            InputStream is= DBUtil2.class.getClassLoader().getResourceAsStream("day01/config.properties");            prop.load(is);            is.close();            //初始化连接池            ds = new BasicDataSource();            //设置驱动 (Class.forName())            ds.setDriverClassName(prop.getProperty("driver"));            //设置url            ds.setUrl(prop.getProperty("url"));            //设置数据库用户名            ds.setUsername(prop.getProperty("user"));            //设置数据库密码            ds.setPassword(prop.getProperty("pwd"));            //初始连接数量            ds.setInitialSize(Integer.parseInt(prop.getProperty("initsize")));            //连接池允许的最大连接数            ds.setMaxActive(Integer.parseInt(prop.getProperty("maxactive")));            //设置最大等待时间            ds.setMaxWait(Integer.parseInt(prop.getProperty("maxwait")));            //设置最小空闲数            ds.setMinIdle(Integer.parseInt(prop.getProperty("minidle")));            //设置最大空闲数            ds.setMaxIdle(Integer.parseInt(prop.getProperty("maxidle")));            //初始化线程本地            tl = new ThreadLocal<Connection>();        }catch(Exception e){            e.printStackTrace();        }    }    /**     * 获取数据库连接     * @return     * @throws SQLException      */    public static Connection getConnection() throws SQLException{        /*         * 通过连接池获取一个空闲连接         */        Connection conn = ds.getConnection();        tl.set(conn);        return conn;    }    /**     * 关闭数据库连接     */    public static void closeConnection(){        try{            Connection conn = tl.get();            if(conn != null){                /*                 * 通过连接池获取的Connection                 * 的close()方法实际上并没有将                 * 连接关闭,而是将该链接归还。                 */                conn.close();                tl.remove();            }           }catch(Exception e){            e.printStackTrace();        }    }}
0 0
原创粉丝点击