JDBC编程:获取数据库连接
jdbc(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 /** 2 * 1.通过java.sql.driver接口获取数据库连接 3 * 2.使用配置文件读取连接信息,使程序更加灵活 4 */ 5 package com.pack02; 6 7 import java.io.inputstream; 8 import java.sql.connection; 9 import java.sql.driver; 10 import java.util.properties; 11 12 import org.junit.test; 13 14 public class testdriver { 15 16 @test 17 public void testdriver() throws exception { 18 19 //1.将配置文件中的连接信息获取到properties对象中 20 inputstream is = 21 this.getclass().getclassloader().getresourceasstream("setting.properties"); 22 23 properties setting = new properties(); 24 setting.load(is); 25 26 //2.从properties对象中读取需要的连接信息 27 string drivername = setting.getproperty("driver"); 28 string url = setting.getproperty("url"); 29 string user = setting.getproperty("user"); 30 string password = setting.getproperty("password"); 31 32 //3.创建driver对象 33 driver driver = (driver)class.forname(drivername).newinstance(); 34 35 properties info = new properties(); //driver的connect方法中需要一个properties型的参数 36 info.put("user", user); 37 info.put("password", password); 38 39 //4.使用driver的connect方法获取数据库连接 40 connection conn = driver.connect(url, info); 41 system.out.println( conn ); 42 } 43 }
[2] 通过java.sql.drivermanager(驱动管理类)获取数据库连接
1 /** 2 * 1.通过java.sql.drivermanager(驱动程序管理类)获取数据库连接 3 * 2.使用配置文件读取连接信息,使程序更加灵活 4 */ 5 package com.pack02; 6 7 import java.io.inputstream; 8 import java.sql.connection; 9 import java.sql.drivermanager; 10 import java.util.properties; 11 12 import org.junit.test; 13 14 public class testdrivermanager { 15 16 @test 17 public void testdrivermanager() throws exception { 18 19 //1.将配置文件中的连接信息获取到properties对象中 20 inputstream is = 21 this.getclass().getclassloader().getresourceasstream("setting.properties"); 22 23 properties setting = new properties(); 24 setting.load(is); 25 26 //2.从properties对象中读取需要的连接信息 27 string drivername = setting.getproperty("driver"); 28 string url = setting.getproperty("url"); 29 string user = setting.getproperty("user"); 30 string password = setting.getproperty("password"); 31 32 //3.加载驱动程序,即将数据库厂商提供的driver接口实现类加载进内存; 33 // 该驱动类中的静态代码块包含有注册驱动的程序,在加载类时将被执行 34 class.forname(drivername); 35 36 //4.通过drivermanager类的静态方法getconnection获取数据连接 37 connection conn = drivermanager.getconnection(url, user, password); 38 system.out.println( conn ); 39 } 40 }
[3] 配置文件中需要的连接信息
1 driver=com.mysql.cj.jdbc.driver 2 url=jdbc:mysql://127.0.0.1:3306/[....1....]?servertimezone=gmt%2b8&usessl=false 3 user=root 4 password=[....2....]
注意:1. 上述信息中,[....1....] 替换成具体的数据库名称,[....2....] 替换成root密码。
2. 在连接高版本的 mysql 数据库时,要注意 driver 的包路径 (高版本mysql多了 “cj” ),url 连接地址的补充信息。(笔者的mysql版本为8.0)
注:希望与各位读者相互交流,共同学习进步。
上一篇: MySQL高可用之MGR安装测试(续)
下一篇: Day03 流程控制