java.sql.Types,数据库字段类型,java数据类型的对应关系.pdfVIP

java.sql.Types,数据库字段类型,java数据类型的对应关系.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

java.sql.Types,,数数据据库库字字段段类类型型,,java数数据据类类型型的的对对应应关关系系

本概述是从《JDBCTMDatabaseAccessfromJavaTM:ATutorialandAnnotatedReference》这本书中摘引来的。JavaSoft⽬前正在备这

本书。这本书是⼀本教程,同时也是JDBC的重要参考⼿册,它将作为Java系列的组成部份,在1997年春季由Addison-Wesley出版公

司出版。

8.1概概述述

由于SQL数据类型和Java数据类型是不同的,因此需要某种机制在使⽤Java类型的应⽤程序和使⽤SQL类型的数据库之间来读写数据。

为此,JDBC提供了getXXX和setXXX⽅法集、⽅法registerOutarameter和类Types。

本章汇集了影响各种类和接⼝的数据类型的有关信息,并列出所有的对应关系表(这些表显⽰了SQL类型和Java类型之间的映射关系)以

便于参考。

8.2将将SQL数数据据类类型型映映射射为为Java类类型型

不幸的是,不同数据库产品所⽀持的SQL类型之间有很⼤的不同。即使不同的数据库以相同的语义⽀持SQL类型,它们也可能⽤不同的名

称。例如,绝⼤多数的主流数据库都⽀持⼀种表⽰⼤型⼆进制值的SQL类型,但Oracle把这种类型叫做LONGRAW,Sybase把它叫

做IMAGE,Informix却把它叫做BYTE,⽽DB2⼜把它叫做LONGVARCHARFORBITDATA。

幸运的是,JDBC程序员通常并不需要⾃⼰去关⼼⽬标数据库所⽤的实际SQL类型的名称。⼤多数时候,JDBC程序员将根据⼀些现有的

数据库表来进⾏编程。他们⽆须关⼼⽤于创建这些表的确切SQL类型的名称。

JDBC在java.sql.Types类中定义了⼀系列的常规SQL类型标识符。这些类型可⽤于表⽰那些最为常⽤的SQL类型。在⽤JDBCAI编程

时,程序员通常可以使⽤这些JDBC类型来引⽤⼀般的SQL类型,⽽⽆须关⼼⽬标数据库所⽤的确切SQL类型的名称。在下⼀节中将对这

些JDBC类型进⾏仔细说明。

程序员⽤到SQL类型名称的主要地⽅是在⽤SQL的CREATETABLE语句创建新的数据库表时。这种情况下,程序员必须注意应该使⽤⽬标

数据库所⽀持的SQL类型名称。如果需要知道各种SQL类型在某个特定的数据库中的⾏为的确切定义,我们建议查阅⼀下数据库⽂档。

如果想要编写⼀种可在各种数据库上创建表的可移植JDBC程序,⽤户主要有两个选择。第⼀个选择是:限制⾃⼰只使⽤那些被⼴为接受的

SQL类型名称(例如INTEGER、NUMERIC或VARCHAR)。这些类型有可能能适应所有的数据库。第⼆个选择是:

⽤java.sql.DatabaseMetaData.getTypeInfo⽅法来找出给定的数据库实际上⽀持哪些SQL类型,然后选择与给定JDBC类型相匹配的特定于数据

库的SQL类型名。

JDBC定义了⼀个从JDBC数据库类型到Java类型的标映射。例如,JDBC的INTEGER类型通常映射为Java的int类型。这可⽀持简单

的接⼝,将JDBC值读写为简单的Java类型。

Java类型不必与JDBC类型完全形同;它们只须能够⽤⾜够的类型信息来代表JDBC类型,从⽽能正确地存储和取出参数和从SQL语句恢

复结果就可以了。例如,JavaString对象可能并不能精确地与任何JDBCCHAR类型匹配,但它却可给出⾜够的类型信息来成功地表

⽰CHAR、VARCHAR或LONGVARCHAR类型。

8.3JDBC类类型型

本节描述各种JDBC数据类型及其与标SQL类型和Java类型的关联⽅式。

8.3.1CHAR、、VARCHAR和和LONGVARCHAR

JDBC类型CHAR、VARCHAR和LONGVARCHAR密切相关。CHAR表⽰固定长度的⼩字符串,VARCHAR表⽰长度可变的⼩字符串,

⽽LONGVARCHAR表⽰长度可变的⼤字符串。

与JDBCCHAR对应的是SQLCHAR类型,其定义由SQL-92给出,且所有主要的数据库都⽀持它。它接受⽤于指定字符串最

文档评论(0)

8d758 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档