


(第三方jar)
![]()
不过现在流行maven,不建议使用古老方式。
(properties文件)
xx.properties文件是用于收集数据库信息如:驱动地址、数据库 连接地址、数据库账号、数据库密码等等一些配置信息。
!注意 xx.properties文件是在src目录下。

- driver = com.mysql.jdbc.Driver
- url = jdbc:mysql:///db_music
- acc = root
- pass = root
DruidDataSource 是阿里写出来的一个数据源, 它不仅可以获取数据库连接,还把这些数据库连接管理了起来,也就是所谓的数据库连接池。这样的话,当通过该数据源获取数据库连接的时候,如果数据库连接池里有可以使用的连接,那么就直接返回该连接,就省的每次获取数据库连接都要创建了。
这个类主要用来解决国际化和本地化问题。国际化和本地化可不是两个概念,两者都是一起出现的。可以说,国际化的目的就是为了实现本地化。比如对于“取消”,中文中我们使用“取消”来表示,而英文中我们使用“cancel”。若我们的程序是面向国际的(这也是软件发展的一个趋势),那么使用的人群必然是多语言环境的,实现国际化就非常有必要。而ResourceBundle可以帮助我们轻松完成这个任务:当程序需要一个特定于语言环境的资源时(如 String),程序可以从适合当前用户语言环境的资源包(大多数情况下也就是.properties文件)中加载它。这样可以编写很大程度上独立于用户语言环境的程序代码,它将资源包中大部分(即便不是全部)特定于语言环境的信息隔离开来。说白了ResourceBundle.getBundle()就是获取文件数据的高级读取器。
utils Package

- /**
- * @author 王永辉
- * @version v1.1.0
- * @description
- * @date 2022-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();
- }
- }
- }
效果:
