`
JinLoveJava
  • 浏览: 23100 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

JDBC应用程序常见接口API和基本操作步骤

    博客分类:
  • JDBC
阅读更多
一、常用JDBC API

在java.sql包中包含体现JDBC基本功能的若干接口和类:

1.Driver 接口:代表驱动程序

2.DriverManager 类:驱动程序管理员

3.Connection 接口:代表数据库连接

4.Statement 、PreparedStatement、CallableStatement 接口:代表数据库操作对象

5.ResultSet 接口:代表结果集

6.DatabaseMetadata、ResultSetMetadata接口:代表元数据

7.Types 类:代表JDBC类型

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

二、若干API的具体说明

Statement和 PreparedStatement ------SQL语句执行接口

      Statement 接口代表了一个数据库的状态,再向数据库发送相应的SQL语句时,都需要创建Statement 接口或者PreparedStatement 接口。

Statement 主要用于操作不带参数的SQL语句,比如增、删、改。

PreparedStatement:预编译的Statement接口

     第一步:通过连接获得PreparedStatement 接口对象,用带占位符(?)的sql语句构造。

                    PreparedStatement ps=con.praperedStatement("select * from test where id=?");

    第二步:设置参数

                    ps.setString(1,"5");

    第三步:执行sql语句

                    rs= ps.executeQuery();

Statement 发送完整的sql语句到数据库不是直接执行,而是先编译、后运行。

PreparedStatement 先发送带参数的sql语句,在发送一组参数值。

如果是同构的sql语句,则PreparedStatement 效率高。对于异构的sql语句,两者效率差不多。

同构: 两个sql语句可编译的部分是相同的,只有参数值不同。

异构: 两个sql语句的格式是不同的。

注意点:1.使用预编译的Statement (即PreparedStatement )编译多条sql语句一起执行。

          2.可以跨数据库使用,编写通用程序。

          3.能用预编译时尽量用预编译。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ResultSet接口:

     ResultSet接口是查询结果集接口,它对返回的结果集进行处理。ResultSet是程序员进行JDBC操作的必须接口。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ResultSetMetaData----元数据操作接口:

      ResultSetMetaData 是对元数据进行操作的接口,可以实现很多高级功能。Hibernate运行数据库的操作,大多是通过此接口。可以认为,此接口是SQL查询语言的一种反射机制。ResultSetMetaData 可以通过数据的形式,来遍历数据库各个字段的属性。对于开发者来说,此机制意义重大。

    JDBC通过元数据(MetaData)来获取具体的表相关的信息,例如,可以查询数据库中有哪些表、标有哪些字段、字段的属性等。MetaData 通过一系列的getXXX 将这些信息返回给我们。

    MetaData元数据包括 数据库源数据DatabaseMetadata 和 结果集元数据ResultSetMetaData 。

     数据库源数据DatabaseMetadata: 使用connection.getMetaData()获得了关于数据库整体的元数据信息。

    结果集元数据ResultSetMetaData: resultSet.getDataMeta获得的比较重要的是表的列名、列的属性等信息。

    结果集元数据对象: ResultSetMetaData meta = rs.getDataMeta();

                  字段个数:meta.getColumnCount();

                  字段名字:meta.getColumnName();

                  字段JDBC类型:meta.getColumnType();

                  字段数据库类型:meta.getColumnTypeName();

    数据库元数据对象: DatabaseMetaData meta = con.getMetaData();

                   数据库名:meta.getDatabaseProductName();

                   数据库版本号:meta.getDatabaseProductVersion();

                   数据库驱动名:meta.getDriverName();

                   数据库驱动版本号:meta.getDriverVersion();

                   数据库URL:meta.getURL();

                   该连接的数据库登录名:meta.getUserName();

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

三、JDBC应用程序的基本步骤:

1.注册驱动

2.建立数据库连接

3.创建数据库操作对象

4.执行SQL

5.处理结果集

6.关闭JDBC对象




1.注册一个驱动driver

         注册驱动程序的三种方式:

         方式一:Class.forName("Oracle.jdbc.driver.OracleDriver");

         方式二:Driver driver=new Oracle.jdbc.driver.OracleDriver();

                   DriverManager.registerDriver(driver);

         方式三:编译时在虚拟机中加载驱动

                   javac -D jdbc.drivers = oracle.jabc.driver.OracleDriver xxx.java

                   java -D jabc.drivers = 驱动全名   类名

                   使用系统属性名,加载驱动 -D表示为系统属性赋值

              附:mysql 的Driver全名:com.mysql.jdbc.Driver

                   sqlserver 的Driver全名:com.microsoft.jdbc.sqlserver.SQLServerDriver

2.建立连接     

         conn=DriverManager.getConnection

                   ("jdbc:oracle.thin:@192.168.0.254:1521/test","username","password");

        上面括号中放的是:oracle自协议+@+ip:port / 数据库实例名,数据库用户名,用户密码。

         mysql url写法:jdbc:mysql://192.168.254:3306/test

3.获得一个Statement对象

        sta = conn.createStatement();

4.通过Statement执行sql语句

        sta.excuteQuery(sql);//返回一个查询结果集

        sta.executeUpdate(sql);//返回值为 int 型,表示影响记录的条数

        将sql语句通过连接发送到数据库中执行,以实现对数据库的操作。

5.处理结果集

        使用Connection对象获得一个Stagement,Statement中的executeQuery(String sql)方法可以使用select语句查询,并返回一个结果集 ResultSet 。通过遍历这个结果集,可以获得select语句的查询结果。ResultSet的next()方法会操作一个游标从第一条记录开始读取,直到最后一天记录。 executeUpdate(String sql)方法用于执行 DDL /DML 语句,比如update,delete等。

         只有select语句才有返回结果集。

         例:Statement sta = con.createStatement(); //创建statement对象

              String sql = " insert into test(id,name) values(1"+" " " "+"king"+" "" "+") ";

              sta.executeUpdate(sql); //执行sql语句

              String sql = "select * from test";

              ReslutSet rs = sta.executeQuery(sql);//执行sql语句后有结果集

              //遍历处理结果集

              while(rs.next()){

                   System.out.println(rs.getInt("id"));

                   System.out.println(rs.getString("name"));

              }

6.关闭数据库连接(释放资源)

   调用close()方法:

        rs.close();         

        sta.close();          

        conn.close();

        ResultSet 、Statement 和Connetction是依次依赖的。

        注意:要按先 ResultSet ,再Statement,最后Connetction的顺序关闭资源。因ResultSet和Statement在连接的情况下才能使用,所以在连使用束后可能还有其他的statement还在连接,所以不能先关闭Connection。

  • 大小: 61.8 KB
分享到:
评论

相关推荐

    mysql的jdbc的驱动程序

    总的来说,MySQL的JDBC驱动程序是Java开发者连接和操作MySQL数据库的重要工具,通过遵循JDBC接口,它为Java应用程序提供了标准且方便的数据访问方式。在实际开发中,了解如何正确地加载、使用和管理这些驱动是非常...

    JDBC与Java数据库编程

    编写JDBC应用程序的基本步骤如下: 1. **导入JDBC类或包括JDBC类的包**:通常需要导入`java.sql.*`包。 2. **加载JDBC驱动程序**:使用`Class.forName()`方法加载特定数据库的驱动程序。 3. **建立与数据库的连接**...

    JDBC API教程与参考手册(第三版)前言+目录+第一,二章

    它允许应用程序通过标准接口访问不同的数据库,从而实现数据库的独立性和可移植性。 - **发展历程**:自1996年JDBC 1.0发布以来,经历了多次版本更新,如JDBC 2.0、JDBC 3.0等,不断完善功能和提高性能。 - **作用**...

    JAVAFrame与MYSQL实现JDBC简单程序

    JDBC是Java平台中用于访问数据库的标准API,它允许Java应用程序与各种类型的数据库进行通信。本程序示例提供了一个简单的JDBC程序,适合初学者学习如何在Java中操作MySQL数据库。 首先,我们要理解JDBC的基本概念。...

    Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成

    Java数据库连接(JDBC...总之,JDBC是Java编程语言与数据库通信的重要桥梁,通过其丰富的API和功能,开发者可以构建健壮且可移植的数据库应用程序。无论是在小型项目还是大型企业级应用中,JDBC都是不可或缺的一部分。

    sql server的JDBC驱动程序

    JDBC(Java Database Connectivity)是Java平台的标准接口,它允许Java应用程序通过Java代码与各种数据库进行交互,包括SQL Server。在这个主题中,我们将深入探讨SQL Server的JDBC驱动程序、其工作原理、如何使用...

    JDBC概述通过案例介绍数据库应用开发的过程

    JDBC(Java Database Connectivity)是Java编程语言中用于规范客户端程序如何访问数据库的应用程序接口,它是Java程序与各种数据库系统交互的标准API。通过JDBC,开发者可以编写出与数据库无关的代码,实现数据存取...

    神州通用数据库JDBC驱动和手册

    手册通常会包含安装步骤、数据库的基本操作、SQL语法示例以及常见问题的解决方案等内容。对于初学者来说,这份文档是非常宝贵的参考资料,可以帮助他们快速理解和掌握神通数据库的使用。 总的来说,神通通用数据库...

    jdbc驱动程序 java+sql

    首先,JDBC驱动程序是Java应用程序连接到数据库的关键组件。它是Java代码和特定数据库管理系统之间的一座桥梁。在描述中提到的"Microsoft SQL Server JDBC Driver 3.0"是一个针对Microsoft SQL Server数据库的JDBC...

    02_传智播客JDBC_编写一个简单的jdbc例子程序.rar

    JDBC是Java语言中用于访问数据库的标准应用编程接口(API)。通过JDBC,开发者可以编写Java程序来连接各种不同类型的数据库,如MySQL、Oracle、SQL Server等。以下是一些关于JDBC的基础知识点: 1. **JDBC驱动**: ...

    使用JDBC操作数据库

    在Java编程领域,JDBC(Java Database Connectivity)是连接Java应用程序和各种数据库的重要接口。它允许程序员通过编写Java代码来执行SQL语句,实现对数据库的读写操作。本篇文章将详细阐述如何使用JDBC来操作...

    java链接数据库jtds和sqljdbc

    首先,JDBC是Java平台的一个标准接口,它允许Java应用程序与各种类型的数据库进行通信。为了实现这一目标,我们需要一个特定于数据库的驱动程序,如jTDS和sqljdbc。 1. **jTDS**:这是一个开源的JDBC驱动程序,专为...

    JDBC公共操作方法代码

    总之,JDBC是Java开发中的重要工具,理解和掌握其基本操作和高级特性,对于开发高效、稳定的数据库应用至关重要。通过阅读这篇博客文章,开发者可以学习到如何编写和优化JDBC代码,提高数据库操作的效率和安全性。

    Java API来编写数据库的应用程序 源代码

    Java API来编写数据库应用程序源代码是开发者们常用的一种技术手段,它主要利用Java的数据库连接(JDBC,Java Database Connectivity)API来实现。JDBC是Java标准库中的一个核心组件,为不同类型的数据库提供了一个...

    JDBC 常见数据库驱动打包下载

    本压缩包包含的正是用于不同数据库的JDBC驱动,包括SQL Server、MySQL、DB2、Oracle、Informix和Sybase等主流数据库,这些驱动是连接Java应用程序和特定数据库的关键组件。 1. **SQL Server JDBC Driver**:由...

    java(jdbc)学习

    JDBC位于Java应用程序和数据库驱动程序之间,充当一个桥梁的角色,使得Java应用程序能够通过标准的API接口与不同的数据库系统进行通信。 JDBC与应用程序的关系体现在以下几点: 1. **标准化接口**:JDBC提供了一个...

    jdbc和连接池的jar包

    这个驱动包包含了必要的类和方法,使得Java应用程序可以通过JDBC API执行SQL语句、管理事务、处理结果集等。 `ojdbc7.jar`则是Oracle公司提供的Java数据库连接器,适用于Java应用程序连接到Oracle数据库。它实现了...

    JDBC API数据库编程实作教材

    - JDBC驱动:JDBC驱动是Java应用程序与数据库之间的桥梁,分为四种类型:JDBC-ODBC桥、本地API驱动、网络纯Java驱动和二进制兼容驱动。 - 数据源(DataSource):数据源是JNDI(Java Naming and Directory ...

Global site tag (gtag.js) - Google Analytics