使用properties配置jdbc信息报错问题

Posted mengqianforliu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用properties配置jdbc信息报错问题相关的知识,希望对你有一定的参考价值。

今天使用properties文件来配置mysql驱动,url,user,password,然后配置到spring-dao.xml(spring和mybatis整合文件)中运行后报错

java.sql.SQLException: Access denied for user \'ASUS\'@\'localhost\' (using password: YES) 用户ASUS访问被拒绝,在properties中user配置的是root。

解决方法:在properties配置中key的名字要加jdbc的前缀

 

读取properties配置文件的信息

1. 读取Properties配置文件的信息

Java程序员经常使用properties文件来存储配置信息,下面我就来简单的说一下怎么用Java程序来读取properties文件吧


1.1 新建测试用例

在这里插入图片描述

db.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
jdbc.username=root
jdbc.password=317525

1.2 开始测试

Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件.


1.2.1 方法一:getProperty()方法读取属性(重点掌握)

getProperty ( String key),用指定的键在此属性列表中搜索属性。也就是通过参数 key ,得到 key 所对应的 value。

在这里插入图片描述
TestProperties.java

package com.tian;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * ClassName: TestProperties
 * Description: Java程序读取 db.properties 配置信息
 *
 * @author Administrator
 * @date 2021/6/5 13:55
 */
public class TestProperties {
    public static void main(String[] args) {
//        新建一个配置类的实例对象
        Properties params = new Properties();
        /*
         * TestProperties.class 获取当前类的class对象
         * TestProperties.class.getClassLoader() 把TestProperties类加载到内存中
         * TestProperties.class.getClassLoader().getResourceAsStream("db.properties") 把db.properties以流(二进制)的形式读取出来
         */
        InputStream is = TestProperties.class.getClassLoader().getResourceAsStream("db.properties");
        try {
            /*
             * 从输入流中读取属性列表(键和元素对)。
             * 通过对指定的文件(比如说上面的 db.properties 文件)
             * 进行装载来获取该文件中的所有键 - 值对。以供 getProperty ( String key) 来搜索。
             * */
            params.load(is);
        } catch (IOException e) {
            e.printStackTrace();
        }
        /*
         * 开始一一读取属性
         * */
        System.out.println("driver: " + params.getProperty("jdbc.driver"));
        System.out.println("url: " + params.getProperty("jdbc.url"));
        System.out.println("username: " + params.getProperty("jdbc.username"));
        System.out.println("password: " + params.getProperty("jdbc.password"));
    }
}

运行结果:
在这里插入图片描述


1.2.2 get()方法读取

package com.tian;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * ClassName: TestProperties
 * Description: Java程序读取 db.properties 配置信息
 *
 * @author Administrator
 * @date 2021/6/5 13:55
 */
public class TestProperties {
    public static void main(String[] args) {
//        新建一个配置类的实例对象
        Properties params = new Properties();
        /*
         * TestProperties.class 获取当前类的class对象
         * TestProperties.class.getClassLoader() 把TestProperties类加载到内存中
         * TestProperties.class.getClassLoader().getResourceAsStream("db.properties") 把db.properties以流(二进制)的形式读取出来
         */
        InputStream is = TestProperties.class.getClassLoader().getResourceAsStream("db.properties");
        try {
            /*
             * 从输入流中读取属性列表(键和元素对)。
             * 通过对指定的文件(比如说上面的 db.properties 文件)
             * 进行装载来获取该文件中的所有键 - 值对。以供 getProperty ( String key) 来搜索。
             * */
            params.load(is);
        } catch (IOException e) {
            e.printStackTrace();
        }
        /*
         * 开始一一读取属性
         * */
        System.out.println("driver: " + params.get("jdbc.driver").toString());
        System.out.println("url: " + params.get("jdbc.url").toString());
        System.out.println("username: " + params.get("jdbc.username").toString());
        System.out.println("password: " + params.get("jdbc.password").toString());
    }
}

运行结果:
在这里插入图片描述



以上是关于使用properties配置jdbc信息报错问题的主要内容,如果未能解决你的问题,请参考以下文章

MySQL Connector/J 6.x jdbc.properties 配置, mysql-connector-java-6.0.4.jar 异常

jdbc的数据库连接信息在属性文件中的配置(db.properties)

读取properties配置文件的信息

Spring4.0+Mybatis整合时占位符无法读取jdbc.properties的问题

java JDBC properties配置文件

Mybatis学习-Mybatis主配置文件