将JDBC连接数据库的信息写到配置文件中

将JDBC连接数据库的信息写到配置文件中

1、在类路径下创建.properties文件

将JDBC连接数据库的信息写到配置文件中

2、将驱动类、url、用户、密码信息写到这个.properties配置文件中

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/bjpowernode?useUnicode=true&characterEncoding=utf8&useSSL=false
user=root
password=root

3、编写连接数据库的Java代码

3.1 正常编写JDBC代码,唯一不同就是所需要的信息从配置文件中取

3.2 所以需要学习一下资源绑定器ResourceBundle这个类

3.2.1 绑定资源

ResourceBundle jdbc = ResourceBundle.getBundle("资源名");

注意,错误的写法:ResourceBundle.getBundle("资源名.properties")

举例:(刚才类路径下创建的JDBC.properties)

ResourceBundle jdbc = ResourceBundle.getBundle("JDBC");

3.2.2 获取对应的字符串(就好比通过key获取value)

String driver = jdbc.getString("driver");
String url = jdbc.getString("url");
String user = jdbc.getString("user");
String password = jdbc.getString("password");

3.3 Java代码

package com.happy.lesson1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

public class JDBCTest04 {
    public static void main(String[] args) throws Exception {
        ResourceBundle jdbc = ResourceBundle.getBundle("JDBC");

        String driver = jdbc.getString("driver");
        String url = jdbc.getString("url");
        String user = jdbc.getString("user");
        String password = jdbc.getString("password");

        //1.注册驱动
        Class.forName(driver);
        //2.获取连接
        Connection conn = DriverManager.getConnection(url, user, password);
        //3.获取数据库操作对象
        Statement stmt = conn.createStatement();
        //4.执行sql
        String sql = "update dept set dname = ‘销售部2‘,loc = ‘天津2‘ where deptno = 20";
        int i = stmt.executeUpdate(sql);
        //5.处理结果集
        System.out.println((i==1)?"修改成功":"修改失败");
        //6.关闭资源
        stmt.close();
        conn.close();
    }
}

运行前:

将JDBC连接数据库的信息写到配置文件中

运行后:

将JDBC连接数据库的信息写到配置文件中

4 分析需求

为什么需要把信息写到配置文件中呢?

因为数据库的账号和密码一般都在用户手上,由用户自己修改,没理由Java程序员问用户要账号和密码,万一这个程序员要到密码后删库跑路了呢?这就太不安全了,所以信息写到配置文件中,由用户填写就好。

将JDBC连接数据库的信息写到配置文件中

上一篇:一条 sql 的执行过程详解


下一篇:mysql知识总结