JDBC获取数据库连接五种方式
Posted 陕西五花肉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC获取数据库连接五种方式相关的知识,希望对你有一定的参考价值。
**
获取数据库连接方式:
**
package com.atguigu.connection;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import org.junit.Test;
public class ConnectionTest {
//方式一:
@Test
public void testConnection1() throws SQLException {
//获取Driver实现类对象
Driver driver= new com.mysql.jdbc.Driver();
String url ="jdbc:mysql://localhost:3306/test";
//将用户名和密码封装在Properties中
Properties info= new Properties();
info.setProperty("user", "root");
info.setProperty("password", "root");
Connection conn=driver.connect(url, info);
System.out.println(conn);
}
//方式二:对方式一的迭代:在如下的程序中不出现第三方的API,使得程序有更好的可移植性
@Test
public void testConnection2() throws ClassNotFoundException, Exception, IllegalAccessException {
//1.获取Driver实现类对象,使用反射
Class clazz = Class.forName("com.mysql.jdbc.Driver");
Driver driver=(Driver)clazz.newInstance();//newInstance()---确定此对象所表示的类或接口实现的接口。
//2.提供要连接的数据库
String url="jdbc:mysql://localhost:3306/test";
//3.提供连接需要的用户名和密码
Properties info =new Properties();
info.setProperty("user", "root");
info.setProperty("password", "root");
//4 获取连接
Connection conn=driver.connect(url, info);
System.out.println(conn);
}
//方式三: 使用DriverManager替换Driver
@Test
public void testConnection3() throws Exception{
//1获取Driver实现类对象
Class clazz = Class.forName("com.mysql.jdbc.Driver");
Driver driver=(Driver)clazz.newInstance();
//2提供三个连接的基本信息
String url="jdbc:mysql://localhost:3306/test";
String user="root";
String password="root";
//注册驱动
DriverManager.registerDriver(driver);
//获取连接
Connection conn = DriverManager.getConnection(url,user,password);
System.out.println(conn);
}
//方式四: 可以只是加载驱动,不用显示的注册驱动过了
@Test
public void testConnection4() throws Exception{
//1.提供三个连接的基本信息
String url="jdbc:mysql://localhost:3306/test";
String user="root";
String password="root";
//2.获取Driver实现类对象
Class.forName("com.mysql.jdbc.Driver");
//相较于方式三 可以省略如下的操作
// Driver driver=(Driver)clazz.newInstance();
// //注册驱动
// DriverManager.registerDriver(driver);
//3.获取连接
Connection conn = DriverManager.getConnection(url,user,password);
System.out.println(conn);
}
最终版 --将前四种进行优化
//方式五(最终版):将数据库连接需要的的4个信息声明在配置文件中,通过读取配置文件的方式 获取连接 首先:在src目录下创建文件 命名为jdbc.properties,并在里面配置 4个基本信息
/*
* 好处:
* 1.实现数据代码的分离 ,实现解耦
* */
@Test
public void testConnection5() throws IOException, ClassNotFoundException, SQLException {
//1.读取配置文件中的4个基本信息 //ConnectionTest.class类名
InputStream is= ConnectionTest.class.getClassLoader().getResourceAsStream("jdbc.properties");
//将用户名和密码封装在Properties中
Properties pros = new Properties();
pros.load(is);
String user = pros.getProperty("user");
String password = pros.getProperty("password");
String url = pros.getProperty("url");
String driverClass = pros.getProperty("driverClass");
//2.加载驱动
Class.forName(driverClass);
//3.获取连接
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
}
}
**
jdbc.properties文件
**
user=root
password=root
url=jdbc:mysql://localhost:3306/test //test表名 根据需求自行更改
driverClass=com.mysql.jdbc.Driver
以上是关于JDBC获取数据库连接五种方式的主要内容,如果未能解决你的问题,请参考以下文章