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)的更多相关文章

  1. C++连接mysql数据库的两种方法

    本文主要介绍了C++连接mysql数据库的两种方法,希望通过本文,能对你有所帮助,一起来看. 现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用a ...

  2. IDEA(2018)连接MySQL数据库失败的解决方法(报错08001)

     解决方法: 将url改成: jdbc:mysql://localhost:3306/studentmanage?useSSL=true&serverTimezone=Hongkong& ...

  3. Java基础93 JDBC连接MySQL数据库

    本文知识点(目录): 1.什么是jdbc     2.jdbc接口的核心API     3.使用JDBC技术连接MySQL数据库的方法    4.使用Statement执行sql语句(DDL.DML. ...

  4. ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库

    1.MySQL存储过程   1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if  while)等等 的sql语句   1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...

  5. jmeter中通过jdbc方式连接mysql数据库的配置参考

    jmeter中通过jdbc方式连接mysql数据库的配置参考: Database URL=jdbc:mysql://ip:port/dbname?useUnicode=true&allowMu ...

  6. JSP连接MySQL数据库问题

    之前写了一大段,还说了一下具体JDBC连接数据库API的具体包的基本知识,哪知道自己手残不小心按了删除按钮.结果去看自动保存记录时,就只剩下下面这段了.好吧,其实最主要最核心的也就是下面这点了.具体如 ...

  7. 快逸报表部署 (一)-- demo连接mysql数据库

    1. 设计器连接mysql数据库, 创建first.raq报表文件 2. 创建demo.jsp,嵌入报表,jsp顶部加入下面两行 <%@ page contentType="text/ ...

  8. 如何登录mysql? cmd怎么连接mysql数据库

    Mysql开源数据库,任何人都可以下载安装使用.那么安装好的mysql如何登陆连接mysql数据库呢? 连接mysql数据库的几种方法 一 Mysql命令行连接 一般对于刚刚安装好的mysql,如果勾 ...

  9. 如何登录mysql? cmd怎么连接mysql数据库||从MYSQL客户端登录MYSQL

    1 2 3 4 5 6 7 分步阅读 Mysql开源数据库,任何人都可以下载安装使用.那么安装好的mysql如何登陆连接mysql数据库呢?本经验咗嚛介绍几种常见的方法 工具/原料   mysql 连 ...

随机推荐

  1. adb(Andorid Debug Bridge)安装和使用

    以下是adb工具包最新2017Google官方版下载地址: ADB和Fastboot for Windows https://dl.google.com/android/repository/plat ...

  2. zend framework多模块多Layout配置

    转自: http://blog.csdn.net/a82168506/article/details/10228011 上次接触zend framework已经很久远了,10年的事情了.最近在做一个项 ...

  3. 哈希--Hash,“散列”/“哈希”

    哈希 Hash,翻译“散列”,音译为“哈希”,把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散 ...

  4. 简单实现SpringBoot启动

    一.准备: IDEA 使用简单手写导包实现spring boot,未使用idea自带的spring创建方法 可以更加简单理解springboot启动过程 二.开始 1.打开idea创建project ...

  5. Hbuilder环境下配置php

    XAMPP的安装 https://blog.csdn.net/qing666888/article/details/81914389 安装并配置好Xampp后,在Hbuilder中下载php插件,工具 ...

  6. WUSTOJ 1305: 最短路(Java)

    题目链接:

  7. bash 和 powershell 常用命令集锦

    Linux Shell # 1. 后台运行命令 nohup python xxx.py & # 查找替换 ## 只在目录中所有的 .py 和 .dart 文件中递归搜索字符"main ...

  8. ubuntu配置fastdfs+Nginx

    全程参考主线来自:https://blog.csdn.net/xiaoxie762457/article/details/80690841(文中图片失效不造成影响) Nginx安装主要参考:https ...

  9. hdu 2555

    Problem Description 杭州师范大学第29届田径运动会圆满的闭幕了,本届运动会是我校规模最大,参赛人数最多的一次运动会.在两天半时间里,由学生.教工组成的61支代表队共2664名运动员 ...

  10. easyExcel用于导入导出

    1.添加依赖: <!-- 现在已经更新到1.1.2-beta5 --> <dependency> <groupId>com.alibaba</groupId& ...