zoukankan      html  css  js  c++  java
  • 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、测试结果:

  • 相关阅读:
    深入理解yield from语法
    数据库事务并发问题,锁机制和对应的4种隔离级别
    同源策略与CORS跨域请求
    Restful 4 -- 认证组件、权限组件、频率组件、url注册器、响应器、分页器
    Restful 3 -- 序列化组件(GET/PUT/DELETE接口设计)、视图优化组件
    Restful 2 --DRF解析器,序列化组件使用(GET/POST接口设计)
    Restful 1 -- REST、DRF(View源码解读、APIView源码解读)及框架实现
    Vue(7)- vue-cookies、极验滑动验证geetest、vue-router的导航守卫
    Vue --6 router进阶、单页面应用(SPA)带来的问题
    Vue 5 -- axios、vuex
  • 原文地址:https://www.cnblogs.com/ciscolee/p/10646095.html
Copyright © 2011-2022 走看看