• java读取配置文件并使用


    思维导图:需要创建的文件和类:首先建立DBConfig.property文件--->创建类DBUtil---->创建其他使用该类的方法

    (1)读取过程及初步理解:首先DBUtil类中通过 Properties prop = new Properties();的prop.load(this.getClass().getClassLoader().getResourceAsStream("com/util/DBConfig.property"));加载配置文件,

    url = prop.getProperty("MYSQLURL");
    password = prop.getProperty("password");
    user = prop.getProperty("user");
    driver = prop.getProperty("MYSQLDriver");
    Class.forName(driver);

    通过以上对驱动进行加载。

    再将该驱动加载对象作为返回值return DriverManager.getConnection(url,user,password);

    悟:理解了原理,其实就是读取文件对象,赋值,然后将带着配置信息的数据对象返回给其他类/对象使用的过程。

    详细如下:

    1、配置文件(com/util/DBConfig.property)

    #数据库类型:1为MYSQL,默认为1
    DBType=1

    #MYSQL 数据库连接信息
    #MYSQL 数据库驱动程序
    MYSQLDriver=com.mysql.jdbc.Driver

    #MYSQL数据库连接字符串
    #127.0.0.1:3306 为数据库地址和端口
    #love 为数据库名,user为登录名,password为登录密码。请自行更改
    MYSQLURL=jdbc:mysql://127.0.0.1:3306/love?user=root&password=123456&useUnicode=true&characterEncoding=UTF-8

    #您还可以添加其他的数据库

    2、读取数据库文件以及在main方法中测试(DBUtil)

    package com.util;

    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;


    public class DBUtil {
    public Connection getConn() {

    Properties prop = new Properties();
    String url = null;
    String password = null;
    String user = null;
    String driver = null;

    try {
    prop.load(this.getClass().getClassLoader().getResourceAsStream("com/util/DBConfig.property"));
    url = prop.getProperty("MYSQLURL");
    password = prop.getProperty("password");
    user = prop.getProperty("user");
    driver = prop.getProperty("MYSQLDriver");
    Class.forName(driver);
    return DriverManager.getConnection(url,user,password);
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } catch (SQLException e) {
    e.printStackTrace();
    }

    return null;
    }
    public static void main(String[] args) {
    DBUtil sConnection = new DBUtil();
    Connection connection = sConnection.getConn();
    Statement statement = null;
    ResultSet set = null;
    try {
    statement = connection.createStatement();
    set = null;
    String sql = "select *from user order by id desc;";
    set = statement.executeQuery(sql);
    if(!set.next()){//判断如果没有记录
    System.out.println("没有记录");
    }else {
    while (set.next()) {
    System.out.println(set.getString("uname"));
    }
    }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally{
    try {
    set.close();
    statement.close();
    connection.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }


    }
    }

    3、测试结果:

  • 相关阅读:
    Ural 2040 Palindromes and Super Abilities 2
    BZOJ3676: [Apio2014]回文串
    HDU3068 最长回文
    [USACO06DEC] Milk Patterns
    hdu 6200 mustedge mustedge mustedge(dfs序+树状数组+并查集)
    hdu 4511 小明系列故事——女友的考验(AC自动机+dp)
    hdu 5129 Yong Zheng's Death(AC自动机fail树的应用)
    poj 1991 Turning in Homework(贪心+区间dp)
    hdu 4776 Ants(trie+优先队列)
    hdu 4775 Infinite Go(并查集模拟)
  • 原文地址:https://www.cnblogs.com/ciscolee/p/10646095.html
Copyright © 2020-2023  润新知