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. busybox的编译、使用及安装

    转载于:http://blog.sina.com.cn/wyw1976 busybox是什么? (1)busybox是Linux上的一个应用程序(application),即只有一个ELF文件头. ( ...

  2. [转]opencv3.0 鱼眼相机标定

    [原文转自]:http://blog.csdn.net/qq_15947787/article/details/51441031 前两天发表的时候没注意,代码出了点错误,所以修改了一下,重新发上来.  ...

  3. JavaScript- jquery easyui 可编辑表格插件 easyui.editgrid

    最近项目前端使用 jquery+easyui来做,用了几个月,觉得easyui是一个很不错的开源前端UI框架, 虽然偶尔会遇到一些小问题,但是凭借多年前端开发的实力积累 都一一解决了,其中比较典型的就 ...

  4. Python基础之条件和循环

    阅读目录 一.if语句 1.1功能 1.2语法 1.2.1:单分支,单重条件判断 1.2.2:单分支,多重条件判断 1.2.3:if + else 1.2.4:多分支if + elif +else 1 ...

  5. div嵌套导致子区域margin-top失效不起作用的解决方法

    有两个嵌套关系的div,如果外层div的父元素padding值为0, 那么内层div的margin-top或者margin-bottom的值会"转移"给外层div,使父元素产生上外 ...

  6. javascript的sort()方法

    定义和用法: sort() 方法用于对数组的元素进行排序. 语法: 1 arrayObject.sort(sortby) 描述: sortby    可选.必须是函数.规定排序顺序  . 返回值: 对 ...

  7. js 倒计时(可自定义时间)

    <html> <head> <title>js 倒计时</title> </head> <body> <div> & ...

  8. GUI 下

    11.6 Swing组件 JButton JLabel JTextField JTextArea JTable JTree publicclass JTableDemo extends JFrame ...

  9. json接口

    http://api.rottentomatoes.com/api/public/v1.0/lists/movies/in_theaters.json?apikey=7waqfqbprs7pajbz2 ...

  10. rabbitmq 3.6 延时消息

    rabbitmq-plugins enable rabbitmq_delayed_message_exchange #安装插件 https://github.com/rabbitmq/rabbitmq ...