网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  用jdbc连接数据库(1)     
  文章作者:未知  文章来源:水木森林  
  查看:78次  录入:管理员--2007-11-17  
 
  用jdbc连接数据库(1)

所有的数据库的对象和方法都在java.sql.* 里面,所以首先要import java.sql.*,要想连接数据库,首先要将驱动程序调入。
class.forname("sun.jdbc.odbc.jdbcodbcdriver");这是jdbc-odbc 的驱动程序。在jbuilder5.0例子里面有一个用datastore的例子,调用驱动程序是这样的:class.forname("com.borland.datastore.jdbc.datastoredriver");这个命令调入驱动程序并创建改类的一个实例。

要想连接一个指定的数据库,你必须创建connection类的一个实例。
string url = "jdbc:odbc:grocery prices";
connection con = drivermanager.getconnection(url);
注意你在此用到的数据库名称是你在odbc设置控制面板中输入的数据资源名。url语法对于不同类型的数据库会很不一样。
语法是这样的: jdbc:subprotocol:subname
开头都是jdbc,后面是子协议,上例是odbc,jbuilder5.0中的例子是这样的:jdbc:borland:dslocal:c:/jbuilder5/bin/temporary.jds 它用的是datastore
若你正连接一数据库其它机器上的服务器,你还需指定机器和子目录。
jdbc:bark//doggie/elliott
最后,你应指定一用户名和密码作为连接字符串的一部分。
jdbc:bark//doggie/elliot;uid=gooddog;pwd=woof

? 访问数据库(转载)

一旦与数据库相连,你可以按表的名称、列的名称和内容索取信息,也可以运行sql命令查询数据库、添加或修改数据库内容。可用来从数据库获取信息的对象有:
databasemetadata 关于数据库的总体信息:表名、表索引、数据库产品名称和版本、数据库支持的操作。
resultset 表或一次查询结果的信息。对数据的访问是逐行的,但对列的访问可采取任何顺序。
resultsetmetadata 一个resultset中列名和类型的信息。

key lastname salarytype   salarytype min max
1 adams 2   1 30000 45000
2 johnson 1   2 45000 60000
3 smyth 3   3 60000 75000
4 tully 1        
5 wolff 2        

salarytype列中的数据指向第二个表。其实还可以有许多类似的表,如所居住的州、各州的税收、 健康计划代扣款等。每个表都有一个主键列和一些其它的数据列。如何在数据库中创建表已被认为是一种艺术或科学。这些表的结构由它们的一般形式指定,一共有三种一般形式:
第一、第二、第三一般形式,它们的缩写分别为1nf、2nf、3nf。

1. 表中的每个单一只能有一个值(不能为一组值)。(1nf)

2. 除具有1nf的要求外,所有的非键列完全依赖于键列。也就是说主键和行中其它单元为一一
对应的关系。(2nf)

3. 除具有2nf的要求外,所有非键列间相互独立。也就是说没有能从其它数据列计算出来的值
的数据列。(3nf)

如今,几乎所有的数据库中的表都是第三一般形式(3nf)。这意味着会存在相当数量的表,而
每个表中的信息列会相对较少。

? 从数据库中获取数据

假设为了某些计划需求,我们要产生一个包含雇员以及他们工资范围的表。这个表在数据库中
并不直接存在,但可以通过对数据库发出一个查询来构造出来。我们有类似于以下这个表的一个表:
:

name
min
max

adams $45,000.00 $60,000.00
johnson $30,000.00 $45,000.00
smyth $60,000.00 $75,000.00
tully $30,000.00 $45,000.00
wolff $45,000.00 $60,000.00

或许这个表已按工资的升序排列

name
min
max

tully $30,000.00 $45,000.00
johnson $30,000.00 $45,000.00
wolff $45,000.00 $60,000.00
adams $45,000.00 $60,000.00
smyth $60,000.00 $75,000.00

我们发现对包括这些表发出的查询会具有以下的格式

select distinctrow employees.name, salaryranges.min,
salaryranges.max from employees inner join salaryranges on employees.salarykey = salaryranges.salarykey
order by salaryranges.min;

这种语言被成为结构化查询语言或sql(常被读作“sequel”),而且几乎所有的数据库都支持该语言。
近些年来,已为sql指定了数个标准,绝大多数的pc数据库都支持这些ansi标准。sql-92被认为是
最基本的标准,并在随后有数次更新。但是,所有的数据库都不能很好的支持以后版本的sql,为了
利用独立于自己数据库的不同性能,它们都提供了不同类型的sql扩展。

(未完待续)
 
 
上一篇: 用jbuilder 7开发ejb例程--开发session bean源码    下一篇: 用jdbc连接数据库(2)
  相关文档
eclipsecon 2006--bea workshop获最佳商业开发工具 11-17
java 学习之深入研究类的各种属性 11-17
Java XML编程实例解析 08-07
java远程方法调用 (4) 11-17
一个显示日期的简单小程序,主要是学习静态变量的用法 11-17
java中精确计算的一个类用bigdecimal 11-17
详细解析java中抽象类和接口的区别 11-20
微软,您的.net为中国程序员带来了什么? 11-16
java进阶:在se6中调用编译器的两种方法 04-08
一个用来访问http服务器的东西。功能类似于java.net中的那个。.. 11-17
j2se5.0新特性之processbuilder 11-17
java 参数是如何传递的 11-17
sethours 方法 11-16
用maven制作java项目发行包 11-17
技巧:java垃圾收集器使用小诀窍 11-16
过程式设计和面向对象设计的比较(组图) 11-17
介绍开发j2ee应用的几个要领 11-20
开发基于jndi的应用程序 11-17
java编程思想(完整的中文简体第二版) 11-17
hashmap的效率 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息