700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Druid(德鲁伊)数据库连接池的使用

Druid(德鲁伊)数据库连接池的使用

时间:2021-08-20 02:04:01

相关推荐

Druid(德鲁伊)数据库连接池的使用

为什么要使用数据库连接池?

有哪些数据库连接池?

怎么使用德鲁伊?

(第三方jar)

不过现在流行maven,不建议使用古老方式。

(properties文件)

xx.properties文件是用于收集数据库信息如:驱动地址、数据库 连接地址、数据库账号、数据库密码等等一些配置信息。

!注意xx.properties文件是在src目录下。

driver = com.mysql.jdbc.Driverurl = jdbc:mysql:///db_musicacc = rootpass = root

DruidDataSource

DruidDataSource 是阿里写出来的一个数据源, 它不仅可以获取数据库连接,还把这些数据库连接管理了起来,也就是所谓的数据库连接池。这样的话,当通过该数据源获取数据库连接的时候,如果数据库连接池里有可以使用的连接,那么就直接返回该连接,就省的每次获取数据库连接都要创建了。

ResourceBundle

这个类主要用来解决国际化和本地化问题。国际化和本地化可不是两个概念,两者都是一起出现的。可以说,国际化的目的就是为了实现本地化。比如对于“取消”,中文中我们使用“取消”来表示,而英文中我们使用“cancel”。若我们的程序是面向国际的(这也是软件发展的一个趋势),那么使用的人群必然是多语言环境的,实现国际化就非常有必要。而ResourceBundle可以帮助我们轻松完成这个任务:当程序需要一个特定于语言环境的资源时(如 String),程序可以从适合当前用户语言环境的资源包(大多数情况下也就是.properties文件)中加载它。这样可以编写很大程度上独立于用户语言环境的程序代码,它将资源包中大部分(即便不是全部)特定于语言环境的信息隔离开来。说白了ResourceBundle.getBundle()就是获取文件数据的高级读取器。

utils Package

/*** @author 王永辉* @version v1.1.0* @description* @date -06−06-06−28**/public class JDBCUtils {private static Connection conn;private static String driverName;private static String dbUrl;private static String acc;private static String pass;//德鲁伊private static DruidDataSource dds = new DruidDataSource();/**@Author 玄烨* @Method 此方法用于静态代码块* @Date 8:30*/static {//德鲁伊//读取数据库配置资源ResourceBundle bundle = ResourceBundle.getBundle("db_music");String driverName = bundle.getString("driver");String dbUrl = bundle.getString("url");String acc = bundle.getString("acc");String pass = bundle.getString("pass");//设置Connection连接信息dds.setDriverClassName(driverName);dds.setUrl(dbUrl);dds.setUsername(acc);dds.setPassword(pass);}/**@Author 玄烨* @Method 此方法用于获取连接* @Date 8:30*/public static Connection getConn() {try {//连接conn = dds.getConnection();} catch (SQLException e) {e.printStackTrace();}return conn;}/**@Author 玄烨* @Method 此方法用于关闭资源* @Date 11:43*/public static void closeAll(ResultSet rs,PreparedStatement ps,Connection conn) {try {if(rs!=null) {rs.close();}if(ps!=null) {ps.close();}if(conn!=null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}}}

效果:

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