JDBC获取数据库连接 JDBC怎样获取数据库连接
Killer-V 人气:0JDBC(Java Database Connectivity),即Java数据库连接。通过JDBC编程,可以使Java应用程序和数据库进行交互。
JDBC驱动的方式有很多种,我们常用的驱动方式为:本地协议的纯Java驱动程序。
JDBC编程的第一步,就是要获取数据库连接。所谓的 “获取数据库连接” 其实就是创建java.sql.Connection接口的实现对象。通过Connection的实现对象,可以使Java程序连接到数据库,并修改和获取数据库信息。
获取数据库连接有两种方式:1.通过java.sql.Driver接口获取数据库连接,2.通过java.sql.DriverManager(驱动管理类)获取数据库连接。
为了使程序更具有通用性,我们可以通过读取配置文件的方式来获取连接数据库所需要的信息。这样可以通过修改配置文件的方式,使Java程序连接到不同的数据库。
在进行JDBC编程前,要先导入数据库厂商提供的JDBC驱动程序。
以下是获取数据库连接的两种方式的程序演示。
[1] 通过java.sql.Driver接口获取数据库连接
/** * 1.通过java.sql.Driver接口获取数据库连接 * 2.使用配置文件读取连接信息,使程序更加灵活 */ package com.pack02; import java.io.InputStream; import java.sql.Connection; import java.sql.Driver; import java.util.Properties; import org.junit.Test; public class TestDriver { @Test public void testDriver() throws Exception { //1.将配置文件中的连接信息获取到Properties对象中 InputStream is = this.getClass().getClassLoader().getResourceAsStream("setting.properties"); Properties setting = new Properties(); setting.load(is); //2.从Properties对象中读取需要的连接信息 String driverName = setting.getProperty("driver"); String url = setting.getProperty("url"); String user = setting.getProperty("user"); String password = setting.getProperty("password"); //3.创建Driver对象 Driver driver = (Driver)Class.forName(driverName).newInstance(); Properties info = new Properties(); //driver的connect方法中需要一个Properties型的参数 info.put("user", user); info.put("password", password); //4.使用driver的connect方法获取数据库连接 Connection conn = driver.connect(url, info); System.out.println( conn ); } }
[2] 通过java.sql.DriverManager(驱动管理类)获取数据库连接
/** * 1.通过java.sql.DriverManager(驱动程序管理类)获取数据库连接 * 2.使用配置文件读取连接信息,使程序更加灵活 */ package com.pack02; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.util.Properties; import org.junit.Test; public class TestDriverManager { @Test public void testDriverManager() throws Exception { //1.将配置文件中的连接信息获取到Properties对象中 InputStream is = this.getClass().getClassLoader().getResourceAsStream("setting.properties"); Properties setting = new Properties(); setting.load(is); //2.从Properties对象中读取需要的连接信息 String driverName = setting.getProperty("driver"); String url = setting.getProperty("url"); String user = setting.getProperty("user"); String password = setting.getProperty("password"); //3.加载驱动程序,即将数据库厂商提供的Driver接口实现类加载进内存; // 该驱动类中的静态代码块包含有注册驱动的程序,在加载类时将被执行 Class.forName(driverName); //4.通过DriverManager类的静态方法getConnection获取数据连接 Connection conn = DriverManager.getConnection(url, user, password); System.out.println( conn ); } }
[3] 配置文件中需要的连接信息
driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/[....1....]?serverTimezone=GMT%2B8&useSSL=false user=root password=[....2....]
注意:
1. 上述信息中,[....1....] 替换成具体的数据库名称,[....2....] 替换成root密码。
2. 在连接高版本的 MySQL 数据库时,要注意 driver 的包路径 (高版本MySQL多了 “cj” ),url 连接地址的补充信息。(笔者的MySQL版本为8.0)
加载全部内容