一、JDBC简介。
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
Java技术连接任何数据库的性能都是很高的,但是只有一个数据库性能是最差的:SQL Sever。
在国内使用最多的几种数据库:Oracle、MySQL、MongoDB。
二、使用JDBC技术连接Oracle数据库。
在Java之中,所有数据库操作的类和接口都保存在了java.sql包里面,核心组成如下:
(1) 一个类:DriverManag类;
(2) 四个接口:Connection、Statement、ResultSet、PreparedSta。
所有的JDBC连接数据库的操作流程都是固定的,按照如下几步完成:
(1)加载数据库的驱动程序(向容器加载);
(2)进行数据库连接(通过DriverManager类完成, Connection 表示连接);
(3)进行数据的CRUD(Statement、PreparedStatement,ResultSet);
(4)关闭数据库的连接;
1.加载驱动程序
要使用各个不同生产商提供的数据库驱动程序,需要配置其CLASSPATH,而后设置驱动程序的
类名称(包.类)。
驱动程序:Oracle安装路径E:\app\chenxin\product\11.2.0\dbhome_3\jdbc\lib\ojdbc6.jar;
-|Oracle 驱动程序类:oracle.jdbc.driver.OracleDriver。
-|加载类使用:Class.forName("oracle.jdbc.driver.OracleDriver");
2.连接数据库
如果要想连接数据库要提供如下的几个信息(前提:数据库服务打开):
-|数据库连接地址:jdbc:oracle:连接方式:主机名称:端口名称:数据库的SID
例:要连接本机的mldn数据库:jdbc:oracle:thin:@localhost:1521:mldn
-|数据库用户名:scott
-|数据库密码:tiger
要连接数据库还需依靠DriverManager类完成,在此类定义有如下的方法:
-|连接数据库:
static Connection |
throws SQLException; Attempts to establish a connection to the given database URL.
|
此方法接收数据库连接地址,用户名,用户密码,返回一个Connection对象.
在JDBC里面,每一个数据库连接都要求使用一个Connection对象进行封装,所以只要有一个Connection对象,就表示要连接一次数据库。
3.数据的操作(此处省略)
4.关闭数据库
Connection接口提供有close()方法:
void |
close()throws SQLException
Releases this
Connection object's database and JDBC resources immediately instead of waiting for them to be automatically released. |
import java.sql.Connection; import java.sql.DriverManager; public class TestDemo { private static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver"; private static final String DBURL = "jdbc:oracle:thin:@localhost:1521:mldn"; private static final String USER = "scott"; private static final String PASSWORD = "tiger"; public static void main(String[] args) throws Exception { //第一步:加载数据库驱动程序,此时不需要实例化,因为会由容器自己负责管理 Class.forName(DBDRIVER); //第二步:连接数据库 Connection conn = DriverManager.getConnection(DBURL, USER, PASSWORD); System.out.println(conn); //第四步:关闭数据库 conn.close(); } }
三、总结:
1.不管连接何种关系型数据库,都一定通过DriverManager进行数据库连接;
2.每一个Connection接口对象就表示一个数据库连接,程序最后必须关闭数据库连接;