博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JdbcUtils 小工具
阅读量:6548 次
发布时间:2019-06-24

本文共 2789 字,大约阅读时间需要 9 分钟。

// 第一版    // src 目录下 dbconfig.properties 配置文件, 用来配置四大参数    // 注意 properties 配置文件中没有分号结尾, 也没有引号    driverClassName=com.mysql.jdbc.Driver    url=jdbc:mysql://localhost:3306/mydb1    username=root    password=root    // JdbcUtils 类    public class JdbcUtils{        public static Connection getConnection()                throws IOException, ClassNotFoudException,SQLException{            // 加载配置文件                // 因为配置文件在 src 目录下            InputStream in = JdbcUtils.class.getClassLoader()                                .getResourceAsStream("dbconfig.properties");            // 使用 properties 集合的 load() 方法,            // 将输入流中的内容加载到 properties 集合中            Properties props = new Properties();            props.load(in);                                                 // 加载驱动类            Class.forName(props.getProperty("driverClassName"));            // 获取 Connection 对象            return DriverManager.getConnection(                        props.getProperty("url"),                        props.getProperty("username"),                        props.getProperty("password")                    );        }    }// 第一次升级// 如果两次调用 JdbcUtils.getConnection() 方法,需要加载两次配置文件.// 驱动类也需要执行多次. 而实际上, 配置文件和驱动类只需要加载一次即可    public class JdbcUtils{        private static Properties props = null;        // 静态代码块, 只在 JdbcUtils 加载时, 执行一次该代码块        static{            // 给 props 进行初始化, 即加载 dbconfig.properties 配置文件到 props 对象中            try{                InputStream in = JdbcUtils.class.getClassLoader()                                           .getResourceAsStream("dbconfig.properties");                props = new Properties();                props.load(in);            }catch(IOException e){                throw new RuntimeException(e);            }            // 加载驱动类            try{                Class.forName(props.getProperty("driverClassName"));            }catch(ClassNotFoundException e){                throw new RuntimeException(e);            }        }        // 获取 Connection 对象        public static Connection getConnection() throws SQLException{            return DriverManager.getConnection(                    props.getProperty("url"),                    props.getProperty("username"),                    props.getProperty("password")            );        }    }// 第二版: 使用 c3p0 连接池获取连接对象    public class JdbcUtils {        // 使用的是配置文件的默认配置, 要求在 src 目录下给出 c3p0-config.xml        private static ComboPooledDataSource dataSource = new ComboPooledDataSource();        // 使用连接池获取连接对象        public static Connection getConnection() throws SQLException{            return dataSource.getConnection();        }        // 返回连接池对象        public static DataSource getDataSource(){            return dataSource;        }    }

参考资料:

转载于:https://www.cnblogs.com/linkworld/p/7618254.html

你可能感兴趣的文章
Data Guard Broker配置与主备库切换指南
查看>>
linux部署安装maven私有库
查看>>
手动安装K8s第九节:创建dashboard和发布应用
查看>>
Spring学习总结(4)——Spring AOP教程
查看>>
SpringMVC权限管理
查看>>
7月第一周的几个问题
查看>>
python实用小工具介绍
查看>>
CentOS 6.5 64 安装 mysql-5.7.19
查看>>
DNS基本原理
查看>>
iOS 中json解析数据出现中文乱码的问题
查看>>
spring工程在eclipse 运行报错:找不到ContextLoaderListener
查看>>
java连接AD域
查看>>
常见下载节点
查看>>
python 之 requests 模块
查看>>
linux: bash登录的显示信息设置以及环境配置文件.
查看>>
Spring boot环境搭建(二)- 代码分离、日志文件配置
查看>>
适合儿童上手的八款编程工具
查看>>
搭建2008 R2 IIS网络负载平衡
查看>>
我的友情链接
查看>>
使用VeraCrypt进行整盘加密介绍
查看>>