JDBC

Posted chenxina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC相关的知识,希望对你有一定的参考价值。

一、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

getConnection(String url, String user, String password)

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接口对象就表示一个数据库连接,程序最后必须关闭数据库连接;

  

 

以上是关于JDBC的主要内容,如果未能解决你的问题,请参考以下文章

面试常用的代码片段

mysql jdbc源码分析片段 和 Tomcat's JDBC Pool

JDBC操作数据库之查询数据

如何在片段中填充列表视图?

在 myeclipse中进行连接sql server的测试

MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段