03014_properties配置文件

1、使用properties配置文件

  (1)开发中获得连接的4个参数(驱动、URL、用户名、密码)通常都存在配置文件中,方便后期维护,程序如果需要更换数据库,只需要修改配置文件即可;

  (2)通常情况下,我们习惯使用properties文件,此文件我们将做如下要求:

    ①文件位置:任意,建议src下;

    ②文件名称:任意,扩展名为properties;

    ③文件内容:一行一组数据,格式是“key=value” ;

    ④key命名自定义,如果是多个单词,习惯使用点分隔。例如:jdbc.driver ;

    ⑤value值不支持中文,如果需要使用非英文字符,将进行unicode转换。

2、创建配置文件

  (1)在项目的根目录下,创建文件,输入“db.properties”文件名;

  (2)文件中的内容:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybase
user=root
password=root

3、加载配置文件:Properties对象

  (1)我们将采用加载properties文件获得流,然后使用Properties对象进行处理;

  (2)JDBCUtils.java中编写代码:

 1 import java.io.FileReader;
 2 import java.io.Reader;
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.util.Properties;
 6 
 7 public class JDBCUtils {
 8 
 9     private static String driver;
10     private static String url;
11     private static String user;
12     private static String password;
13     // 静态代码块
14     static {
15         try {
16             // 1 使用Properties处理流
17             // 使用load()方法加载指定的流
18             Properties props = new Properties();
19             Reader is = new FileReader("db.properties");
20             props.load(is);
21             // 2 使用getProperty(key),通过key获得需要的值,
22             driver = props.getProperty("driver");
23             url = props.getProperty("url");
24             user = props.getProperty("user");
25             password = props.getProperty("password");
26         } catch (Exception e) {
27             throw new RuntimeException(e);
28         }
29     }
30 
31     /**
32      * 获得连接
33      */
34     public static Connection getConnection() {
35         try {
36             // 1 注册驱动
37             Class.forName(driver);
38             // 2 获得连接
39             Connection conn = DriverManager.getConnection(url, user, password);
40             return conn;
41         } catch (Exception e) {
42             throw new RuntimeException(e);
43         }
44     }
45 }

  (3)测试类

 1 import java.sql.Connection;
 2 import java.sql.PreparedStatement;
 3 import java.sql.SQLException;
 4 
 5 public class Demo {
 6 
 7     public static void main(String[] args) {
 8         try {
 9             // 1,获取连接对象
10             Connection conn = JDBCUtils.getConnection();
11             // 2,指定要执行的SQL语句
12             String sql = "INSERT INTO sort(sname) VALUES(?)";
13             // 4,获取SQL语句的执行对象 PreparedStatement
14             PreparedStatement ppstat = conn.prepareStatement(sql);
15             // 5,执行SQL语句
16             ppstat.setString(1, "洗衣机");
17             int line = ppstat.executeUpdate();
18             // 6,处理结果集
19             System.out.println("line=" + line);
20             // 7,关闭连接
21             ppstat.close();
22             conn.close();
23         } catch (SQLException e) {
24             throw new RuntimeException(e);
25         }
26     }
27 }

  运行结果:

  

原文地址:https://www.cnblogs.com/gzdlh/p/8111780.html