`
stone_1231
  • 浏览: 39419 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JDBC TYPE 与JAVA TYPE

阅读更多

Java和SQL各自有一套自己定义的数据类型(jsp的数据类型实际上就是Java的数据类型),我们要在Jsp程序和数据库管理系统之间正确的交换数据,必然要将二者的数据类型进行转换。先让我们来看两个表:

 

 

 

这里,大伙要注意了,并不是所有的数据类型在各种数据库管理系统中都被支持。下面,就几种常用的数据类型之间的转化进行说明:

 

(1)      CHAR, VARCHAR, 和 LONGVARCHAR

 

在SQL语言中,有三种分别表示不同长度的字符类型CHAR, VARCHAR, 和 LONGVARCHAR,在Java/Jsp中并没有相应的三种不同的数据类型与之一一对应,JDBC的处理方法是将其与String或者char[]对应起来。在实际编程中不必对着三种SQL数据类型进行区分,全部将他们转化为Sting或者char[]就可以了。而且通常使用应用的非常普遍的String类型。我们还可以利用String类提供的方法将一个String对象转化为char[],或者用char[]为参数构造一个Stirng对象。

对于定长度的SQL数据类型CHAR(n),当从数据库管理系统中获得的结果集提取该类型的数据时,JDBC会为其构造一个长度为n的String对象来代表他,如果实际的字符个数不足’n’,系统会自动为String对象补上空格。当向数据库管理系统写入的数据类型应该是CHAR(n)时,JDBC也会将该String对象的末尾补上相应数量的空格。

一般情况下,CHAR, VARCHAR, LONGVARCHAR和String之间可以无差错的进行转换。但非常值得注意的是LONGVARCHAR,这种SQL的数据类型有时在数据库中代表的数据可能有几兆字节的大小,超过了String对象的承受范围。JDBC解决的办法是用Java的Input Stream来接受这种类型的数据[以后我们回涉及到]。Input Stream不仅支持ASCII,而且支持Unicode,我们可以根据需要进行选择。

 

(2)      DECIMAL 和 NUMERIC

 

SQL的DECIMAL 和 NUMERIC通常用来表示需要一定精度的定点数。在Java的简单数据类型中,没有一种类型与之相对应。但从JDK1.1开始,Sun公司在java.math.*包中加入了一个新的类BigDecimal,该类的对象可以与DECIMAL 、NUMERIC进行转换。

另外,当从数据库管理系统中读取数据时,还可以用getString()方法来获取DECIMAL 和 NUMERIC。

 

(3)      BINARY, VARBINARY, 和 LONGVARBINARY

 

在编程时无须精确区分这三种SQL数据类型,JDBC将他们统一影射为byte[]。其中LONGVARBINARY和LONGVARCHAR相似,可以代表几兆字节的数据,超出数组的承受范围。解决的办法依然是用Input Stream来接受数据。

 

(4)      BIT

 

代表一个二进制位的BIT类型被JDBC影射为boolean型。

 

(5)      TINYINT, SMALLINT, INTEGER, 和 BIGINT

 

SQL语言的TINYINT, SMALLINT, INTEGER, 和 BIGINT分别代表8位、16位、32位、64位的数据。他们分别被影射为Java的byte, short, int, 和 long

 

(6)      REAL, FLOAT, 和 DOUBLE

 

SQL定义了REAL, FLOAT,  DOUBLE来支持浮点数。JDBC将REAL影射到Java的float,将FLOAT,DOUBLE影射到java的double。

 

(7)      DATE, TIME, 和 TIMESTAMP

 

SQL定义了三种和日期相关的数据类型。 DATE代表年、月、日,TIME代表时、分、秒,TIMESTAMP结合了DATE和TIME的全部信息,而且增加了更加精确的时间计量单位。

在java的标准类库中,java.util.*包中的Date类用来表示日期和时间。但是该类和SQL中的DATE, TIME, 和 TIMESTAMP直接影射关系并不清晰。并且,该类也不支持TIMESTAMP的精确时间计量单位。因此,Sun公司在java.sql.*中为java.util.Date增加了三个子类:java.sql.Date,java.sql.Time ,java.sql.Timestamp,分别与SQL中的三个日期数据类型相对应。

 

  • 大小: 49.8 KB
  • 大小: 41.5 KB
分享到:
评论
1 楼 beiyeren 2012-11-19  
很有用,感谢楼主

相关推荐

    JDBC与Java数据库程序设计

    JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。它是Java平台的标准部分,允许开发者编写数据库独立的代码,这意味着使用JDBC可以连接到不同的数据库系统,如MySQL、...

    JDBC与Java数据库编程

    它是一个接口和类的集合,允许Java程序员编写与任何遵循JDBC规范的数据库交互的应用程序。JDBC支持SQL语句的执行、结果集的处理以及事务管理等操作。 二、JDBC驱动类型 JDBC驱动分为四种类型: 1. Type 1:纯Java...

    JDBC与Java数据库程序设计(中文)

    Java Database Connectivity(JDBC)是Java编程语言中用于与各种类型数据库交互的一种标准接口。它由Sun Microsystems(现为Oracle公司的一部分)开发,是Java平台的核心API之一,允许程序员使用Java编写数据库应用...

    Java ORACLE JDBC 驱动

    Java ORACLE JDBC驱动是Java应用程序用来与Oracle数据库进行交互的重要组件。JDBC(Java Database Connectivity)是Java平台的标准API,允许Java程序通过网络与各种类型的数据库进行通信。Oracle JDBC驱动则是Oracle...

    JDBCDemo_java_

    Java数据库连接(JDBC)是Java程序与关系型数据库交互的一种标准接口。在"JDBCDemo_java_"这个示例中,我们将深入探讨如何使用Java进行数据库连接、执行SQL语句以及断开连接。以下是对这个主题的详细阐述: 1. **...

    javajdbc

    Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。它是Java标准版(Java SE)的一部分,允许Java开发者执行SQL语句并处理结果。在深入探讨Java JDBC之前,先要理解...

    java 加载JDBC驱动程序

    JDBC驱动程序是实现这些接口的Java类库,它允许Java应用程序与各种类型的数据库进行交互。加载JDBC驱动程序是Java应用程序访问数据库的第一步,这个过程涉及到Java的反射机制和Class.forName()方法。下面我们将深入...

    jdbc.rar_java jdbc

    Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。它是Java平台标准的一部分,允许Java开发者执行SQL语句,处理数据库结果,并且提供了数据库连接的能力。本教程将...

    java_jdbc包括驱动

    Java JDBC(Java Database Connectivity)是Java平台中用于与各种数据库进行交互的一组接口和类,它是Java标准API的一部分,位于`java.sql`包下。JDBC提供了一种标准的编程模型,使得Java开发者能够以统一的方式连接...

    java封装jdbc的操作代码

    JDBC驱动是连接Java应用程序和数据库之间的桥梁,分为四种类型:Type 1(JDBC-ODBC桥),Type 2(部分Java驱动),Type 3(纯Java网络驱动),以及Type 4(纯Java驱动,直接与数据库通信)。 2. **封装JDBC操作** ...

    JAVA数据库编程JDBC 与 Java数据库接口JDBC入门基础讲座 与 JDBC API数据库编程实作教材-程序设计-JAVA JDBC全压缩包.rar

    7. **JDBC与ORM框架的结合**:如Hibernate或MyBatis,它们是如何简化JDBC的使用,提供更高级别的抽象。 通过深入学习和实践这些资料,开发者将能够熟练地运用JDBC进行Java数据库编程,为后续的Web开发或企业级应用...

    sqljdbc4是java连接sqlserver的jar包

    SQLJDBC4属于Type 4,即纯Java的、完全基于网络的驱动,它无需中间件即可直接与数据库通信,提高了性能和可移植性。 在SQLJDBC4.jar中,包含了实现JDBC接口的所有必要类和方法,使得Java应用程序能够高效地与SQL ...

    java -JDBC_Driver 驱动包

    Java JDBC(Java Database Connectivity)驱动包是Java编程语言与各种数据库进行交互的一种标准接口。它允许Java应用程序连接到关系数据库,执行SQL语句,并获取结果。在这个“java - JDBC_Driver”驱动包中,包含了...

    JAVA各个数据库的JDBC驱动包

    DB2提供了JDBC Type 4驱动,也称为纯Java驱动,支持标准的JDBC接口,并直接与数据库通信,不需要中间的数据库管理软件。IBM的DB2 JDBC驱动程序为开发者提供了高效、安全的数据库连接。 3. **MySQL JDBC驱动**: ...

Global site tag (gtag.js) - Google Analytics