JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。
JDBC库包括通常与数据库使用相关的下面提到的每个任务的API。
这个类就代表了经过DriverManager的管理驱动类以后返回出来的数据库接口,我们可以调用返回执行类来执行SQL语句。
主要是来静态语句执行语句。
扩展了Statement类实现了动态实时执行Sql语句,可运行时提供参数。
暂时在内存中存放我们从数据库获取来的结果。
构建JDBC应用程序涉及以下六个步骤:
注册驱动程序最常见的方法是使用Java的Class.forName()方法,将驱动程序的类文件动态加载到内存
中,并将其自动注册
try { Class.forName("com.mysql.cj.jdbc.Driver"); }catch(ClassNotFoundException ex) { System.out.println("Error: unable to load driver class!"); System.exit(1); }
第二种方法是使用静态DriverManager.registerDriver()方法。
try { Driver myDriver = new com.mysql.cj.jdbc.Driver(); DriverManager.registerDriver(myDriver); }catch(ClassNotFoundException ex) { System.out.println("Error: unable to load driver class!"); System.exit(1); }
加载驱动程序后,可以使用DriverManager.getConnection()方法建立连接。为了方便参考,让我
列出三个重载的DriverManager.getConnection()方法 -
RDBMS | JDBC驱动程序名称 | 网址格式 |
---|---|---|
MYSQL8 | com.mysql.cj.jdbc.Driver | jdbc:mysql://hostname:3306/databaseName?serverTimezone=UTC |
MySQL | com.mysql.jdbc.Driver | jdbc:mysql://hostname:3306/databaseName |
ORACLE | oracle.jdbc.driver.OracleDriver | jdbc:oracle:thin:@hostname:port Number:databaseName |
DB2 | COM.ibm.db2.jdbc.net.DB2Driver | jdbc:db2:hostname:port Number / databaseName |
SYBASE | com.sybase.jdbc.SybDriver | jdbc:sybase:Tds:hostname:port Number / databaseName |
String URL = "jdbc:mysql://localhost:3306/yhp2?serverTimezone=UTC"; String USER = "username"; String PASS = "password" Connection conn = DriverManager.getConnection(URL, USER, PASS);
DriverManager.getConnection()方法的第三种形式需要一个数据库URL和一个Properties对象
DriverManager.getConnection(String url, Properties info);
import java.util.*; String URL = "jdbc:mysql://localhost:3306/yhp2?serverTimezone=UTC"; Properties info = new Properties( ); info.put( "user", "username" ); info.put( "password", "password" ); Connection conn = DriverManager.getConnection(URL, info);
为确保连接关闭,可以在代码中提供一个“finally”块。一个finally块总是执行,不管是否发生异常。
要关闭上面打开的连接,调用close() 方法如下 :
conn.close();