- 浏览: 615903 次
- 性别:
- 来自: 太原
-
文章分类
- 全部博客 (240)
- 程序员数学/线性代数(Linear Algebra) (2)
- 程序员数学/微积分(Calculus) (6)
- 机器学习(Machine Learning) (5)
- JAVA SE (63)
- JAVA EE (14)
- 数据库技术 (26)
- struts (4)
- 软件设计/设计模式 (0)
- ibatis (2)
- XML (4)
- 领域建模 (0)
- 数据资源共享 (1)
- 软件工程 (11)
- 技术以外 (6)
- 面向对象 (2)
- 科学数据共享 (1)
- 资源 (7)
- WEB2.0 (11)
- 电子商务 (10)
- 算法、数据结构、数学 (10)
- LAMP (1)
- 杂谈 (12)
- C语言 (7)
- 程序设计思想 (3)
- 读书和笔记 (1)
- 生活 健身 养生 (5)
- WEB UI (2)
- eclipse (2)
- 项目管理 (7)
- oracle (5)
- linux (1)
- webGIS (6)
最新评论
-
TimePower:
OK~终于明白了~~
参数(parameter)和属性(Attribute)的区别 -
OnTheRoad_lee:
不错,正式我想要的东西,一直不明白序列化是什么?有什么用?至此 ...
我对Java Serializable(序列化)的理解和总结 -
EchoZhouYou:
好久不上这,找这本书时发现这一篇,特意登录来赞一下
《程序设计语言——实践之路》读后感 -
yong7356:
学习一下Serializable
我对Java Serializable(序列化)的理解和总结 -
dengjm_2012:
写得不错!
我对Java Serializable(序列化)的理解和总结
转:http://blog.csdn.net/axman/archive/2006/07/07/887793.aspx
因为是基础篇,所以还是对每一步骤简单说明一下吧:
前面说是,注册驱动程序有多方法,Class.forName();是一种显式地加载.当一个驱
动程序类被Classloader装载后,在溶解的过程中,DriverManager会注册这个驱动类的实例.
这个调用是自动发生的,也就是说DriverManager.registerDriver()方法被自动调用了,当然
我们也可以直接调用DriverManager.registerDriver()来注册驱动程序,但是,以我的经验.
MS的浏览中APPLET在调用这个方法时不能成功,也就是说MS在浏览器中内置的JVM对该方法的
实现是无效的.
另外我们还可以利用系统属性jdbc.drivers来加载多个驱动程序:
System.setProperty("jdbc.drivers","driver1:driver2:.....:drivern");多个驱动程序之
间用":"隔开,这样在连结时JDBC会按顺序搜索,直到找到第一个能成功连结指定的URL的驱动
程序.
在基础篇里我们先不介绍DataSource这些高级特性.
在成功注册驱动程序后,我们就可以用DriverManager的静态方法getConnection来得
到和数据库连结的引用:
Connection conn = DriverManager.getConnection(url);
如果连结是成功的,则返回Connection对象conn,如果为null或抛出异常,则说明没有
和数据库建立连结.
对于getConnection()方法有三个重载的方法,一种是最简单的只给出数据源即:
getConnection(url),另一种是同时给出一些数据源信息即getConnection(url,Properties),
另外一种就是给出数据源,用户名和密码:getConnection(url,user,passwod),对于数据源信息.
如果我们想在连结时给出更多的信息可以把这些信息压入到一个Properties,当然可以直接压
入用户名密码,别外还可以压入指定字符集,编码方式或默认操作等一些其它信息.
在得到一个连结后,也就是有了和数据库找交道的通道.我们就可以做我们想要的操
作了.
还是先来介绍一些一般性的操作:
如果我们要对数据库中的表进行操作,要先缘故绑定一个语句:
Statement stmt = conn.createStatement();
然后利用这个语句来执行操作.根本操作目的,可以有两种结果返回,如果执行的查询
操作,返回为结果集ResultSet,如果执行更新操作,则返回操作的记录数int.
注意,SQL操作严格区分只有两个,一种就是读操作(查询操作),另一种就是写操作(更
新操作),所以,create,insert,update,drop,delete等对数据有改写行为的操作都是更新操作.
ResultSet rs = stmt.executeQuery("select * from table where xxxxx");
int x = stmt.executeUpdate("delete from table where ......");
如果你硬要用executeQuery执行一个更新操作是可以的,但不要把它赋给一个句柄,
当然稍微有些经验的程序员是不会这么做的.
至于对结果集的处理,我们放在下一节讨论,因为它是可操作的可选项,只有查询操作
才返回结果集,对于一次操作过程的完成,一个非常必要的步骤是关闭数据库连结,在你没有了
解更多的JDBC知识这前,你先把这一步骤作为JDBC操作中最最重要的一步,在以后的介绍中我会
不断地提醒你去关闭数据库连结!!!!!!!!!!!
按上面介绍的步骤,一个完成的例子是这样的:(注意,为了按上面的步骤介绍,这个例
子不是最好的)
因为是基础篇,所以还是对每一步骤简单说明一下吧:
前面说是,注册驱动程序有多方法,Class.forName();是一种显式地加载.当一个驱
动程序类被Classloader装载后,在溶解的过程中,DriverManager会注册这个驱动类的实例.
这个调用是自动发生的,也就是说DriverManager.registerDriver()方法被自动调用了,当然
我们也可以直接调用DriverManager.registerDriver()来注册驱动程序,但是,以我的经验.
MS的浏览中APPLET在调用这个方法时不能成功,也就是说MS在浏览器中内置的JVM对该方法的
实现是无效的.
另外我们还可以利用系统属性jdbc.drivers来加载多个驱动程序:
System.setProperty("jdbc.drivers","driver1:driver2:.....:drivern");多个驱动程序之
间用":"隔开,这样在连结时JDBC会按顺序搜索,直到找到第一个能成功连结指定的URL的驱动
程序.
在基础篇里我们先不介绍DataSource这些高级特性.
在成功注册驱动程序后,我们就可以用DriverManager的静态方法getConnection来得
到和数据库连结的引用:
Connection conn = DriverManager.getConnection(url);
如果连结是成功的,则返回Connection对象conn,如果为null或抛出异常,则说明没有
和数据库建立连结.
对于getConnection()方法有三个重载的方法,一种是最简单的只给出数据源即:
getConnection(url),另一种是同时给出一些数据源信息即getConnection(url,Properties),
另外一种就是给出数据源,用户名和密码:getConnection(url,user,passwod),对于数据源信息.
如果我们想在连结时给出更多的信息可以把这些信息压入到一个Properties,当然可以直接压
入用户名密码,别外还可以压入指定字符集,编码方式或默认操作等一些其它信息.
在得到一个连结后,也就是有了和数据库找交道的通道.我们就可以做我们想要的操
作了.
还是先来介绍一些一般性的操作:
如果我们要对数据库中的表进行操作,要先缘故绑定一个语句:
Statement stmt = conn.createStatement();
然后利用这个语句来执行操作.根本操作目的,可以有两种结果返回,如果执行的查询
操作,返回为结果集ResultSet,如果执行更新操作,则返回操作的记录数int.
注意,SQL操作严格区分只有两个,一种就是读操作(查询操作),另一种就是写操作(更
新操作),所以,create,insert,update,drop,delete等对数据有改写行为的操作都是更新操作.
ResultSet rs = stmt.executeQuery("select * from table where xxxxx");
int x = stmt.executeUpdate("delete from table where ......");
如果你硬要用executeQuery执行一个更新操作是可以的,但不要把它赋给一个句柄,
当然稍微有些经验的程序员是不会这么做的.
至于对结果集的处理,我们放在下一节讨论,因为它是可操作的可选项,只有查询操作
才返回结果集,对于一次操作过程的完成,一个非常必要的步骤是关闭数据库连结,在你没有了
解更多的JDBC知识这前,你先把这一步骤作为JDBC操作中最最重要的一步,在以后的介绍中我会
不断地提醒你去关闭数据库连结!!!!!!!!!!!
按上面介绍的步骤,一个完成的例子是这样的:(注意,为了按上面的步骤介绍,这个例
子不是最好的)
try{ Class.forName("org.gjt.mm.mysql.Driver"); }catch(Exception e){ System.out.println("没有成功加载驱动程序:"+e.toString()); return; }//对于象我这样的经验,可以直接从e.toString()的简单的几个字判断出异常原因, //如果你是一个新手应该选捕获它的子类,如何知道要捕获哪几个异常呢?一个简单 //的方法就是先不加try{},直接Class.forName("org.gjt.mm.mysql.Driver");,编 //译器就会告诉你要你捕获哪几个异常了,当然这是偷机取巧的方法,最好还是自己 //去看JDK文档,它会告诉你每个方法有哪些异常要你捕获. Connection conn = null; try{ conn = DriverManager.getConnection( "jdbc:mysql://host:3306/mysql", "user", "passwd"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from table"); //rs 处理 [rs.close();] [stmt.close();] } catch(Exception e){ System.out.println("数据库操作出现异常:"+e.toString()); } finally{ try{conn.close();}catch(Exception){} }//不管你以前是学习到的关于数据库流程是如何操作的,如果你相信我,从现在开始, //请你一定要把数据库关闭的代码写到finally块中,切切!
发表评论
-
Drools JBPM区别
2011-03-21 18:02 1802参考资料: 1、http://www.simpleframew ... -
推荐web开发教材
2009-11-25 13:00 1426大家能否给推荐一本 用JAVA语言相关的WEB开发方面的教材。 ... -
JAVA 线程编程 ----两个线程程序
2009-11-20 13:08 2131Java的内置线程支持 关 ... -
JAVA 线程编程 ----什么时候多线程可能不好(When Multiple Threads Might Not Be Good)
2009-11-13 12:59 1253设计程序时候创建更多的线程不总是一个好主意。线程不是免费的;它 ... -
JAVA 线程编程 ----为什么要用多线程(Why Use Multiple Thread)
2009-11-11 15:51 3378许多情况下,在一个程 ... -
JAVA 线程编程 ----线程介绍
2009-11-10 14:59 1264概述 浏览网页时,当 ... -
DataSource data source JNDI之间的关系
2009-09-16 17:01 2378data source :所谓data source就 ... -
字符,字节和编码三者的关系
2009-06-03 23:17 0http://www.regexlab.com/zh/enco ... -
jasperreport
2009-05-04 14:17 0http://www.docstoc.com/docs/213 ... -
iReport设计报表以Excel格式导出时注意的问题
2009-04-23 15:08 7249刚开始使用iReport工具,没想到就遇到了问题: 在以Exc ... -
到主机 的 TCP/IP 连接失败,达到最大连接数
2009-04-23 14:35 4437问题描述: _______________ ... -
Acegi框架介绍
2009-03-30 23:57 1510转自:这里 灰色字体 ... -
对语言的一些理解
2008-05-06 17:54 1480语言的本质 包 ... -
HOW TO DESIGN PROGRAMS
2008-04-21 09:55 1708http://www.htdp.org ·前言 向儿童传 ... -
AOP 入门好文章
2008-04-18 18:42 1459http://dev.rdxx.com/Java/2005-0 ... -
Head First JSP &Servlet读后感------chapt01
2008-01-02 22:50 2062Web程序和普通的GUI程序 ... -
JNDI资料整理
2007-12-26 16:38 1323******************************* ... -
JDBC初级应用实例(二) 转
2007-12-25 09:35 1250转自:http://blog.csdn.net/axman/a ... -
JDBC初级应用实例(一) 转
2007-12-25 09:25 1456转自:http://blog.csdn.net/a ... -
JDBC基础(四)转
2007-12-25 09:07 1288转自:http://blog.csdn.net/axman/a ...
相关推荐
### JDBC基础教程之ResultSet对象详解 #### 一、ResultSet对象概览 `ResultSet`对象是Java Database Connectivity (JDBC) API中的一个核心组件,用于处理SQL查询结果。它充当了一个临时的数据存储,其中包含了所有...
### JDBC基础知识总结 #### 一、概述 JDBC(Java Database Connectivity)是一种标准的Java API,用于连接并操作各种类型的数据库。它从物理结构上说就是一套Java语言访问数据库的接口集合,本质上则是调用者...
### JDBC基础 1. **JDBC简介**:JDBC是Java API,用于与各种数据库进行连接,执行SQL语句并处理结果。它提供了一套统一的接口,使得开发者无需关心底层数据库的细节。 2. **JDBC驱动**:根据不同的数据库系统,...
这些知识点涵盖了JDBC的基础概念、API介绍以及编程流程,对于初学者来说是非常宝贵的参考资料。通过理解这些概念和API,开发者可以更好地使用JDBC进行数据库操作,提高应用程序的性能和安全性。
总之,JDBC规范文档是了解Java数据库编程的基础,无论是数据库开发者、还是应用程序开发者,都需要对其规范有深入的理解。通过遵循JDBC规范,开发者可以编写出能够在多种数据库系统中移植的代码,同时确保代码的可...
本文将基于“JDBC 开发指南”提供的内容,深入探讨 JDBC 的基础知识及其在实际应用中的作用。 #### 二、JDBC NetServer 概览 ##### 2.1 概述 JDBC NetServer 是一款用于实现 Java 应用程序与远程数据库之间通信的...
- `java.sql`包含基础的JDBC类和接口,如`Connection`, `Statement`, `ResultSet`等。 - `javax.sql`包含高级功能,例如`DataSource`等。 - **`DriverManager`类**: - **作用**:用于创建与数据库的连接。 - *...
一、jdbc 基础 jdbc 是 Java 中访问数据库的标准 API,提供了统一的接口来访问不同的数据库管理系统。jdbc 的主要组件包括: * DriverManager:负责管理数据库连接的驱动程序。 * Connection:表示与数据库的连接...
#### 二、JDBC环境配置 1. **注册驱动**:首先,需要将对应的JDBC驱动类加载到JVM中,这通常通过调用`Class.forName(driver)`来实现,其中`driver`是数据库厂商提供的驱动类名。 2. **获取连接**:在注册了驱动...
1. **java.sql**:这是JDBC的基础包,包含了用于基本数据库编程的服务,例如创建连接、执行语句、准备语句和运行批处理查询等。此外,还有一些高级处理,如批处理更新、事务隔离和可滚动结果集等。 2. **javax.sql**...
#### 第二章:JDBC基础应用 **2.1 创建JDBC应用程序的步骤** - **导入JDBC类或包括JDBC类的包**:例如`import java.sql.*;` - **加载JDBC驱动程序**:使用`Class.forName()`方法加载特定数据库的JDBC驱动。 - **...
### JDBC与Hibernate学习笔记 ...JDBC提供了与数据库交互的低级API,而Hibernate则是在JDBC基础上构建的一个高级ORM框架,能够显著减少开发过程中与数据库交互所需的代码量,并提高了开发效率和应用程序的可维护性。
**一、JDBC基础** 1. **JDBC驱动类型**:JDBC驱动主要有四种类型: JDBC-ODBC桥接驱动、本地API驱动(纯Java)、网络协议驱动和JDBC-Net桥接驱动。它们各自有不同的工作原理和适用场景。 2. **JDBC连接步骤**:...
传统的JDBC驱动通常由数据库供应商提供,它们直接与数据库服务器进行二进制通信。而"jdbc-driver-rpc"则采用了不同的方法,它将SQL语句转换为HTTP请求发送到指定的服务端,服务端接收到请求后执行SQL,再将结果转换...
标题“JDBC基础知识1_保存大文本_分页_批处理”揭示了本文将要讨论的是Java数据库连接(Java Database Connectivity, JDBC)的基础知识,主要包括如何在数据库中处理大文本数据、实现分页查询以及利用批处理提高...
3. **易用性**:相比C语言为基础的ODBC,JDBC更易于理解和使用,尤其是在面向对象编程方面。 #### 五、JDBC的API接口 JDBC主要包括两个层面的接口: 1. **JDBC API**:面向开发者的API,包括`java.sql.Connection`...
### 各大数据库类型与JDBC中介数据类型的转换对比 在进行数据库开发时,了解不同数据库管理系统(DBMS)的数据类型及其与Java Database Connectivity (JDBC)中的数据...这对于开发者来说是非常重要的基础知识之一。
#### 三、JDBC基础 JDBC(Java Database Connectivity)是一个由Sun Microsystems开发的标准API,用于Java应用程序与各种数据库通信。它是Java访问数据库的基础,也是其他数据访问技术如JDO和Hibernate的基础。 - *...
#### 二、JDBC的三大功能 JDBC主要实现以下三个核心功能: 1. **与数据库建立连接**:JDBC允许应用程序通过标准的URL格式建立与数据库的连接。这通常涉及到指定数据库类型、主机名、端口号、数据库名称、用户名和...