JDBC课程1-实现Driver接口连接mysql数据库通用的数据库连接方法(使用文件jdbc.properties)

Posted 好好学习,天天向上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC课程1-实现Driver接口连接mysql数据库通用的数据库连接方法(使用文件jdbc.properties)相关的知识,希望对你有一定的参考价值。

package day_18;
import jdk.internal.util.xml.impl.Input;
import org.junit.Test;

import java.io.InputStream;
import java.net.URL;
import java.sql.*;
import java.util.Properties;
import java.util.logging.Logger;

/**
 * Driver 只是一个接口,数据库厂商必须提供的接口,能从中获取数据库连接
 *    一:加载方法
 * 1.加入mysql 驱动
 * 2.解压 mysql-connector-java-5.1.7.zip ,复制jar文件并添加进工程中
 * 3.Driver() throws Exception

*connection

  public interface Connection
  extends Wrapper, AutoCloseable与特定数据库的连接(会话)。 执行SQL语句并在连接的上下文中返回结果。

Connection对象的数据库能够提供描述其表,其支持的SQL语法.
*/
public class test1 {
    @Test
    public void testDriver() throws Exception{
        ///1.创建一个Driver 实现类的对象
        Driver driver = new com.mysql.jdbc.Driver();
        String url="jdbc:mysql://localhost:3306/books";   //数据库所在的主机IP或者localhost
        //2.准备连接数据库的基本信息:url,user,password
        Properties info=new Properties();
        info.put("user", "root");
        info.put("password", "123456");
        //3.调用Driver接口的 connect(url,info) 获取数据库连接
        Connection connection=driver.connect(url,info);
        System.out.println(connection);
            //连接成功:输出:com.mysql.jdbc.JDBC4Connection@27ddd392
    }
    /**二:通用的方法
     * 编写一个通用的方法,在不修改源程序的情况下,可以获取任何数据库的连接
     * 解决方案:
     *      把数据库驱动driver 实现类的全类名、url、user、password放入一个配置文件中
     *      通过修改配置文件的方法 实现和具体的数据库解耦。
     */
    @Test             //显示正常:com.mysql.jdbc.JDBC4Connection@19e1023e
    public void testGetConnection() throws Exception{
        System.out.println(getConnection());
    }

    public Connection getConnection() throws Exception{
        String driverClass=null,jdbcUrl=null,user=null,password=null;
            //读取类路径下的jdbc.properties 文件
        InputStream in=
        getClass().getClassLoader().getResourceAsStream("jdbc.properties");
        Properties properties =new Properties();
        properties.load(in);
        driverClass =properties.getProperty("driver");
        jdbcUrl=properties.getProperty("jdbcUrl");
        user = properties.getProperty("user");
        password = properties.getProperty("password");

            //运用反射新建一个通用的 driver对象
        Driver driver = (Driver)Class.forName(driverClass).newInstance();

        Properties info=new Properties();
        info.put("user", user);
        info.put("password", password);

            //通过Driver 的connect方法获取数据库的连接
        Connection connection=driver.connect(jdbcUrl, info);
        return connection;
    }
}

通用的数据库连接方法需要新建:

jdbc.properties (直接建立在SRC工程下)

 

以上是关于JDBC课程1-实现Driver接口连接mysql数据库通用的数据库连接方法(使用文件jdbc.properties)的主要内容,如果未能解决你的问题,请参考以下文章

JDBC笔记

JDBC连接数据库的几种方法

JDBC3.0标准中常用接口与类

JDBC总结篇

JDBC,连接池及CRUD操作

获取数据库连接