JDBC连接数据库的几种方法
一、 最古老的方法(通过 Driver 接口直接连接数据库)
- 首先创建一个 Driver 实现类的对象
Driver dirver = new com.mysql.jdbc.Driver();
 - 准备连接数据库的基本信息:url、user、password
String url = "jdbc:mysql://127.0.0.1:3306/java_jdbc";
Properties info = new Properties();
info.put("user", "root");
info.put("password", "123456"); - 调用 Driver 借口的 connect(url, info) 获取数据库连接
Connection connection = dirver.connect(url, info);
 
实例代码:
@Test
public void testDriver() throws SQLException {
// 1. 创建一个 Driver 实现类的对象
Driver dirver = new com.mysql.jdbc.Driver(); // 2. 准备链接数据库的基本信息:url, user, password
String url = "jdbc:mysql://127.0.0.1:3306/java_jdbc";
Properties info = new Properties();
info.put("user", "root");
info.put("password", "123456"); // 3. 调用 Driver 借口的 connect(url, info) 获取数据库连接
Connection connection = dirver.connect(url, info);
System.out.println(connection);
}
二、编写一个通用的方法(通过Driver 接口实现)
- 定义数据库基本信息变量
String driverClass = null;
String jdbcUrl = null;
String user = null;
String password = null; - 创建一个properties文件,用来存放数据库连接基本信息
driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://127.0.0.1:3306/java_jdbc
user=root
password=123456 - 读取类路径下的jdbc.properties 文件
InputStream in =
getClass().getClassLoader().getResourceAsStream("jdbc.properties");
Properties properties = new Properties();
properties.load(in); - 从properties文件获取数据库基本信息
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);
Connection connection = driver.connect(jdbcUrl, info); 
实例代码:
     public Connection getConnection() throws Exception {
         String driverClass = null;
         String jdbcUrl = null;
         String user = null;
         String 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;
     }
     @Test
     public void testGetConnection() throws Exception {
         System.out.println(getConnection());
     }
三、通过DriverManager 驱动管理类获取数据库连接
- 准备数据库连接的四个字符串
 
1).创建 properties 对象
Properties properties = new Properties();
2).获取jdbc.properties 对应的输入流
 InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("jdbc.properties");
3).加载对应的输入流
properties.load(inputStream);
4).具体决定 user、password、url、driver四个字符串
 String driver = properties.getProperty("driver");
 String jdbcUrl = properties.getProperty("jdbcUrl");
 String user = properties.getProperty("user");
 String password = properties.getProperty("password");
2. 加载数据库驱动程序
Class.forName(driver);
3. 通过 Drivermanager 的 getConnection() 方法获取数据库连接
return DriverManager.getConnection(jdbcUrl, user, password);
实例代码:
@Test
public void testGetConnection23() throws Exception {
System.out.println(getConnection2());
}
public Connection getConnection2() throws IOException, ClassNotFoundException, SQLException{ Properties properties = new Properties(); InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("jdbc.properties"); properties.load(inputStream); String driver = properties.getProperty("driver");
String jdbcUrl = properties.getProperty("jdbcUrl");
String user = properties.getProperty("user");
String password = properties.getProperty("password"); Class.forName(driver); return DriverManager.getConnection(jdbcUrl, user, password);
}
本文只是作者的笔记,只供参考,有错误欢迎指出!2017-10-28 11:14:03
JDBC连接数据库的几种方法的更多相关文章
- C#连接数据库的四种方法(转)
		
C#连接数据库的四种方法 在进行以下连接数据库之前,请先在本地安装好Oracle Client,同时本次测试System.Data的版本为:2.0.0.0. 在安装Oracle Client上请注意, ...
 - 转 mysql 远程连接数据库的二种方法
		
mysql 远程连接数据库的二种方法 一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456” ...
 - Java通过JDBC连接数据库的三种方式!!!并对数据库实现增删改查
		
前言 java连接数据库完整流程为: 1,获得驱动(driver),数据库连接(url),用户名(username),密码(password)基本信息的三种方式. 2,通过获得的信息完成JDBC实现连 ...
 - Qt连接数据库的两种方法
		
我曾经想过,无论在哪个平台下开发,都不要再接触SQL Server了,但显然不行.我们是来看世界的,不是来改变世界的,想通就好. 前两天,尝试了一下Qt下远程访问数据库.在macOS下,用Qt 5.1 ...
 - JDBC连接数据库的四种方式:DriverManager,DataSource,DBCP,C3P0
		
方法1:使用java.sql.DriverManager类 驱动管理器类,用于管理所有注册的驱动程序. (注:DataSource 接口是 JDBC 2.0 API 中的新增内容,它提供了连接到数据源 ...
 - mysql 远程连接数据库的二种方法
		
http://blog.csdn.net/freecodetor/article/details/5799550 一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5 ...
 - mysql 远程连接数据库的二种方法
		
一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口"3306",用户名为"root",密码"123 ...
 - JDBC的概念、实现原理与连接数据库的几种方法
		
1.首先要知道jdbc(概念): 使用Java代码发送sql语句的技术就是jdbc技术(jdbc英文全称:Java DataBase Connectivity,java数据库连接).即jdbc是一个接 ...
 - MySQL之连接数据库的两种方法
		
方法一: package DB; import java.sql.Connection; import java.sql.DriverManager; public class Conn { // 定 ...
 
随机推荐
- hdu4678   Mine   2013 Multi-University Training Contest 8   博弈题
			
Mine Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submi ...
 - SSM框架整合项目 :投票系统
			
框架: Spring SpringMVC MyBatis 题目: 投票系统 导包: 1, spring 2, MyBatis 3, mybatis-spring 4, fastjson 5, aspe ...
 - C#  使用itextsharp 读取pdf中文字坐标
			
程序调用: using iTextSharp.text.pdf; using System; using System.Collections.Generic; using System.Linq ...
 - Opencv基础课必须掌握:滑动条做调色盘 -OpenCV步步精深
			
滑动条做调色盘 我们来想一下这个程序需要什么,首先需要一个窗口显示一切=.=(︿( ̄︶ ̄)︿废话一样): 说到调色盘除了画板也就是窗口(默认为黑色),调色就要涉及三种颜色 红色Red(我们用R表示), ...
 - Android基础知识笔记01—框架结构与四大组件
			
-----------Andriod 01--------------->>> Andriod系统架构 linux内核与驱动层. 系统运行库层. 应用框架层. 应用层 内核驱动 ...
 - 谈谈我对php通信的理解及人生小感
			
故事背景: 小王和小甜是亲密无间的好朋友. 小王到自己QQ群里看到一个免单活动, 自己支付宝余额不足, 遂用小甜的手机淘宝先花150元购买了活动产品. 到货后商家告诉小王, 确认收货后提供旺旺账号.支 ...
 - popup方法
			
popup方法: 一.创建一个页面 1.创建url和视图函数:: from django.shortcuts import render def p1(request): return render( ...
 - Linux入门(7)——Ubuntu16.04安装wps并解决系统缺失字体问题
			
进入WPS官网下载deb包: http://linux.wps.cn/ 安装,打开终端: cd 下载 ~a21_amd64.deb 解决打开WPS时出现的系统缺失字体问题: 下载 https://pa ...
 - JSTL标签库的基本教程之核心标签库(一)
			
JSTL介绍 Java Server Pages Standard Tag Libray(JSTL):JSP标准标签库,它封装了JSP应用的通用核心功能.JSTL支持通用的.结构化的任务,比如迭代,条 ...
 - ios 返回不会自动刷新页面问题
			
在实际开发过程中,移动端的兼容性问题有很大的坑,安卓可以了ios不行,ios可以了安卓又失效了这样,其中ios的回退操作就是不会自动刷新页面,很烦! 常见的history.back() history ...