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)的更多相关文章
- C++连接mysql数据库的两种方法
本文主要介绍了C++连接mysql数据库的两种方法,希望通过本文,能对你有所帮助,一起来看. 现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用a ...
- IDEA(2018)连接MySQL数据库失败的解决方法(报错08001)
解决方法: 将url改成: jdbc:mysql://localhost:3306/studentmanage?useSSL=true&serverTimezone=Hongkong& ...
- Java基础93 JDBC连接MySQL数据库
本文知识点(目录): 1.什么是jdbc 2.jdbc接口的核心API 3.使用JDBC技术连接MySQL数据库的方法 4.使用Statement执行sql语句(DDL.DML. ...
- ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库
1.MySQL存储过程 1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if while)等等 的sql语句 1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...
- jmeter中通过jdbc方式连接mysql数据库的配置参考
jmeter中通过jdbc方式连接mysql数据库的配置参考: Database URL=jdbc:mysql://ip:port/dbname?useUnicode=true&allowMu ...
- JSP连接MySQL数据库问题
之前写了一大段,还说了一下具体JDBC连接数据库API的具体包的基本知识,哪知道自己手残不小心按了删除按钮.结果去看自动保存记录时,就只剩下下面这段了.好吧,其实最主要最核心的也就是下面这点了.具体如 ...
- 快逸报表部署 (一)-- demo连接mysql数据库
1. 设计器连接mysql数据库, 创建first.raq报表文件 2. 创建demo.jsp,嵌入报表,jsp顶部加入下面两行 <%@ page contentType="text/ ...
- 如何登录mysql? cmd怎么连接mysql数据库
Mysql开源数据库,任何人都可以下载安装使用.那么安装好的mysql如何登陆连接mysql数据库呢? 连接mysql数据库的几种方法 一 Mysql命令行连接 一般对于刚刚安装好的mysql,如果勾 ...
- 如何登录mysql? cmd怎么连接mysql数据库||从MYSQL客户端登录MYSQL
1 2 3 4 5 6 7 分步阅读 Mysql开源数据库,任何人都可以下载安装使用.那么安装好的mysql如何登陆连接mysql数据库呢?本经验咗嚛介绍几种常见的方法 工具/原料 mysql 连 ...
随机推荐
- jcmd的简单实用
命令jcmd 显示所有java进程id及相关信息 命令 jcmd java_pid help 显示某个java进程的所有可用命令 ➜ jobs jcmd 61185 help 61185: The f ...
- 【GStreamer开发】GStreamer播放教程08——视频解码的硬件加速
目标 视频的硬件解码近来发展非常快速,尤其是在低功耗的设备上.本教程会讲述一些硬件加速的背景知识并解释一下GStreamer是怎么做的. 悄悄告诉你,如果设置正确地话,我们什么也不用做,GStream ...
- 安卓app和苹果app共用一个二维码
应项目要求,现在安卓app和苹果app共用一个二维码,对外提供下载: <html> <head> <meta http-equiv="Content-Type& ...
- 第5课.linux进阶命令
1.find:查找符合条件的文件 格式: find 目录名 选项 查找条件 eg: find /work/001_linux_basic/dira/ -name "test1.txt&quo ...
- HDU 4352:XHXJ's LIS
题目:(原题是英文而且很迷) 求区间内数的LIS长度==k的个数,比如153948的LIS为1 3 4 8,长度为4.据说这种题叫DP中DP,本来是线性,再套一层状压+数位,简直厉害到不行…… 线性的 ...
- springboot备份mysql后发送邮件并删除备份文件,支持win和Linux
首先加入springboot的邮箱依赖 <!--邮箱依赖--> <!-- https://mvnrepository.com/artifact/org.springframework ...
- scrapy工具创建爬虫工程
1.scrapy创建爬虫工程:scrapy startproject scrape_project_name >scrapy startproject books_scrapeNew Scrap ...
- [转帖]K8s 工程师必懂的 10 种 Ingress 控制器
K8s 工程师必懂的 10 种 Ingress 控制器 https://www.kubernetes.org.cn/5948.html 控制器有好多啊. 2019-10-18 23:07 中文社区 分 ...
- netty-websocket简单的使用方法
最便捷使用netty-websocket方法 1.pom添加依赖 <dependency> <groupId>org.yeauty</groupId> <ar ...
- Spring MVC <mvc:annotation-driven/>的作用
一.mvc:annotation-driven的作用 Spring 3.0.x中使用了mvc:annotation-driven后,默认会帮我们注册默认处理请求,参数和返回值的类,其中最主要的两个类: ...