JDBC(Java Database Connection,Java数据库连接)是一种用于执行SQL语句的JavaAPI(应用程序设计接口),它由一些Java语言写的类和界面组成。JDBC提供了一种标准的应用程序设计接口,使得开发人员使用Java语言开发完整的数据库应用程序变得极为简单。通过JDBC,开发人员几乎可以将SQL语句传递给任何一种数据库,而无需为各种数据库编写单独的访问程序。JDBC可以自动将SQL语句传递给相应的数据库管理系统。

JDBC扩展了Java的功能,例如在Applet中应用JDBC,可以实现与远程数据库的连接,实现不同平台数据库之间的对话。简单地说,JDBC完成下面三个操作:

(1) 与一个数据库建立连接。

Connection con = DriverManager.getConnection("jdbc:odbc:CallCenter","sa","");

(2) 向数据库发送SQL语句。

stmt = con.createStatement();

    rs = stmt.executeQuery("SELECT CID,CPin from tCustomer WHERE CID='z1'");

(3) 处理数据库返回的结果。

    while(rs.next())

    {

    String theInt = rs.getString("CID");

    String str = rs.getString("CPin");

   ...

    }

JDBC的接口分为两个层次:一个是面向程序开发人员的JDBC API;另外一个是底层的JDBC Driver API。JDBC API 被描述成为一组抽象的Java接口,应用程序可以对某个数据库打开连接,执行SQL语句并且处理结果。最重要的接口如下:

java.sql.DriverManager:处理驱动的调入并且对产生新的数据库连接提供支持。

java.sql.Connection:代表对特定数据库的连接。

java.sql.Statement:代表一个特定的容器,以对一个特定的数据库执行SQL语句。

java.sql.ResultSet:控制对一个特定语句的行数据的存取。

其中java.sql.Statement又有两个子类型:

(1)  java.sql.PreparedStatement:用于执行预编译的SQL语句。

(2)  java.sql.CallableStatement:用于执行对一个数据库内嵌过程的调用。

JDBC Driver API是指java.sql.Driver接口,封装了不同数据库的驱动程序(像Access、Foxpro、SQL Server等)。由于它是数据库底层处理,所以必须提供对java.sql.Connection、java.sql. Statement、java.sql.PreparedStatement和java.sql.ResultSet的实现。

1  数据库访问的步骤

编写数据库访问程序的步骤如下:

(1) 引入java.sql的包。

import java.sql.*;

(2) 声明变量。

Statement stmt;

PreparedStatement pstmt;

ResultSet rs;

(3) 加载驱动程序。

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

(4) 连接数据库。

Connection con = DriverManager.getConnection("jdbc:odbc:STU";,"","");

(5) 执行查询操作。

rs = stmt.executeQuery("SELECT 学号,姓名,班级 from Xuesheng WHERE 班级='025'");

...

pstmt = con.prepareStatement("UPDATE Xuesheng SET 班级 = ? WHERE 班级 = ?");

pstmt.setString(1,"计算机");

pstmt.setString(2,"025");

pstmt.executeUpdate();

...

(6) 关闭数据库。

con.close();

Java—数据库技术的更多相关文章

  1. Java数据库技术

    JDBC即Java数据库连接     是接口,用于执行SQL语句,包含Java写的类和界面.几乎可以把SQL传给任何数据库,不用单独编写SQL.     用处,1是与数据库建立连接,2是向数据库发送S ...

  2. Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

    3. redis数据类型[重点] redis 使用的是键值对保存数据.(map) key:全部都是字符串 value:有五种数据类型 Key名:自定义,key名不要过长,否则影响使用效率 Key名不要 ...

  3. Java数据库连接技术——JDBC

    大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API ...

  4. paip.java 架构师之路以及java高级技术

    paip.java 架构师之路以及java高级技术 1.    Annotation 设计模式... 概念满天飞.ORM,IOC,AOP. Validator lambda4j memcache. 对 ...

  5. 深入分析Java Web技术内幕(修订版)

    阿里巴巴集团技术丛书 深入分析Java Web技术内幕(修订版)(阿里巴巴集团技术丛书.技术大牛范禹.玉伯.毕玄联合力荐!大型互联网公司开发应用实践!) 许令波 著   ISBN 978-7-121- ...

  6. 深入分析Java Web技术(1)

    BS网络模型的基本过程: 当我们在浏览器中输入"www.google.com"的时候,首先会请求DNS服务器对域名进行解析成都应的IP地址,然后根据这个IP地址在互联网上找到谷歌的 ...

  7. Java分布式应用技术架构介绍

    分布式架构的演进 系统架构演化历程-初始阶段架构

  8. Java单元测试技术1

    另外两篇关于介绍easemock的文章:EasyMock 使用方法与原理剖析,使用 EasyMock 更轻松地进行测试 摘要:本文针对当前业软开发现状,先分析了WEB开发的技术特点和单元测试要解决的问 ...

  9. Java Servlet 技术简介

    Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...

随机推荐

  1. Python—sqlalchemy

    SQLAlchemy SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作. #Dialect用于和数据API进行交流,根据配置文 ...

  2. CentOS7 Nginx负载均衡

    五台服务器 192.168.155.129 nginx反向代理服务器 192.168.155.130 apache+PHP服务器,PHP要使用mysql函数库,配置的时候就要指定mysql安装路径,所 ...

  3. 利用JavaScript来实现省份—市县的二级联动

    所谓省-市二级联动是指当选择省份下拉选择框时,市县的下拉框会根据选择的省市而有相应的市县加载出来,如下图所示选择"上海市",城市的下拉选择框只会出现上海的市县: 这种二级联动非常常 ...

  4. Network of Schools --POJ1236 Tarjan

    Network of Schools Time Limit: 1000MS Memory Limit: 10000K Description A number of schools are conne ...

  5. 显示Class 'Think\Controller\FuController' not found和Call to a member function assign() on a non-object 的错误问题

    Class 'Think\Controller\FuController' not found 错误位置 FILE: D:\wamp\www\tinkphp\Application\Come\Cont ...

  6. git无法定位程序输入点libiconv

    使用git clone时,报以下错误: 解决方案: 将git\bin\下的libiconv-2.dll复制到\git\libexec\git-core\下即可

  7. Hadoop 简介

    一个开源的,高可靠,可扩展的分布式计算框架 解决的问题 1 海量数据的存储(HDFS) 2海量数据的分析(Mapreduce) 3 分布式资源调度 (Yarn) 应用场景 日志分析,基于海量数据的在线 ...

  8. 一文说尽C++赋值运算符重载函数(operator=)

    写在前面: 关于C++的赋值运算符重载函数(operator=),网络以及各种教材上都有很多介绍,但可惜的是,内容大多雷同且不全面.面对这一局面,在下在整合各种资源及融入个人理解的基础上,整理出一篇较 ...

  9. Android 录音器

    Android自带的mediarecoder录音器不含pause暂停功能,解决方法:录制多个音频片段,最后合成一个文件. 参照 : http://blog.csdn.net/a601445984/ar ...

  10. C#获得类的方法和方法参数

    Type t = typeof(CommonController); StringBuilder str = new StringBuilder(); MethodInfo[] methors = t ...