JDBC配置文件db.properties(Mysql) 及dbutils的编写

#数据库驱动
driver=com.mysql.jdbc.Driver
#数据库连接
url=jdb:mysql://localhost:3306/newdb3?useUnicode=true&characterEncoding=utf8
#数据库用户名
username=root
#数据库密码
password=root
#数据库连接池初始连接数
initialSize=3
#数据库连接池最连接线程数
maxActive=5

DButils的编写

package util;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

import org.apache.commons.dbcp.BasicDataSource;

public class DBUtils {

    private static BasicDataSource dataSource;

    static {
        //读取属性配置文件
        Properties prop = new Properties();
        //得到文件输入流
        InputStream ips = DBUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
        //把文件流加载到prop对象中
        try {
            prop.load(ips);
            String driver = prop.getProperty("driver");
            String url = prop.getProperty("url");
            String username = prop.getProperty("username");
            String password = prop.getProperty("password");
            String initSize = prop.getProperty("initialSize");
            String maxSize = prop.getProperty("maxActive");

            //创建连接池数据源对象
            dataSource = new BasicDataSource();
            dataSource.setDriverClassName(driver);
            dataSource.setUrl(url);
            dataSource.setUsername(username);
            dataSource.setPassword(password);
            //设置连接池策略信息
            dataSource.setInitialSize(Integer.parseInt(initSize));
            dataSource.setMaxActive(Integer.parseInt(maxSize));

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static Connection getConn() throws SQLException{
        return dataSource.getConnection();
    }

    public static void close(Connection conn,Statement stat,ResultSet rs) throws SQLException {
        if(rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
                throw e;
            }
        }

        if(stat != null) {
            try {
                stat.close();
            } catch (SQLException e) {
                e.printStackTrace();
                throw e;
            }
        }

        if(conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
                throw e;
            }
        }
    }

}
原文地址:https://www.cnblogs.com/topzhao/p/10284134.html