国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JDBC數據類型

2019-11-15 00:53:57
字體:
來源:轉載
供稿:網友
JDBC數據類型JDBC數據類型JDBC驅動程序java數據類型轉換到適當的JDBC類型然后再將它發送到數據庫。它使用默認的大多數數據類型映射。例如,一個Java int轉換成一個SQL INTEGER。創建默認映射驅動器之間提供一致性。

下表總結了默認的JDBC數據類型的Java數據類型轉換,當調用setXXX()方法的PReparedStatement或CallableStatement對象或ResultSet.updateXXX()方法。

SQLJDBC/JavasetXXXupdateXXX
VARCHARjava.lang.StringsetStringupdateString
CHARjava.lang.StringsetStringupdateString
LONGVARCHARjava.lang.StringsetStringupdateString
BITbooleansetBooleanupdateBoolean
NUMERICjava.math.BigDecimalsetBigDecimalupdateBigDecimal
TINYINTbytesetByteupdateByte
SMALLINTshortsetShortupdateShort
INTEGERintsetIntupdateInt
BIGINTlongsetLongupdateLong
REALfloatsetFloatupdateFloat
FLOATfloatsetFloatupdateFloat
DOUBLEdoublesetDoubleupdateDouble
VARBINARYbyte[ ]setBytesupdateBytes
BINARYbyte[ ]setBytesupdateBytes
DATEjava.sql.DatesetDateupdateDate
TIMEjava.sql.TimesetTimeupdateTime
TIMESTAMPjava.sql.TimestampsetTimestampupdateTimestamp
CLOBjava.sql.ClobsetClobupdateClob
BLOBjava.sql.BlobsetBlobupdateBlob
ARRAYjava.sql.ArraysetARRAYupdateARRAY
REFjava.sql.RefSetRefupdateRef
STRUCTjava.sql.StructSetStructupdateStruct

JDBC3.0的增強支持BLOB,CLOB,ARRAY,REF數據類型。ResultSet對象現在有UPDATEBLOB(),updateCLOB(),updateArray()和updateRef()方法,使您可以在服務器上直接操作相應的數據。

setXXX()和updateXXX()方法,使您可以轉換成特定的Java類型到特定的JDBC數據類型。setObject()和updateObject()方法,使您能夠幾乎所有的Java類型映射到JDBC數據類型。

ResultSet對象提供相應的getXXX()方法為每個數據類型來檢索列值。每一種方法,可以使用與列名或由它的序號位置。

SQLJDBC/JavasetXXXgetXXX
VARCHARjava.lang.StringsetStringgetString
CHARjava.lang.StringsetStringgetString
LONGVARCHARjava.lang.StringsetStringgetString
BITbooleansetBooleangetBoolean
NUMERICjava.math.BigDecimalsetBigDecimalgetBigDecimal
TINYINTbytesetBytegetByte
SMALLINTshortsetShortgetShort
INTEGERintsetIntgetInt
BIGINTlongsetLonggetLong
REALfloatsetFloatgetFloat
FLOATfloatsetFloatgetFloat
DOUBLEdoublesetDoublegetDouble
VARBINARYbyte[ ]setBytesgetBytes
BINARYbyte[ ]setBytesgetBytes
DATEjava.sql.DatesetDategetDate
TIMEjava.sql.TimesetTimegetTime
TIMESTAMPjava.sql.TimestampsetTimestampgetTimestamp
CLOBjava.sql.ClobsetClobgetClob
BLOBjava.sql.BlobsetBlobgetBlob
ARRAYjava.sql.ArraysetARRAYgetARRAY
REFjava.sql.RefSetRefgetRef
STRUCTjava.sql.StructSetStructgetStruct
日期 & 時間數據類型:

java.sql.Date類映射到SQL DATE類型,并在java.sql.Time的java.sql.Timestamp類,分別映射到SQL和SQL TIMESTAMP數據類型。

以下示例顯示了如何的格式的日期和時間類標準的Java日期和時間值相匹配的SQL數據類型需求。

import java.sql.Date;import java.sql.Time;import java.sql.Timestamp;import java.util.*;public class SqlDateTime {   public static void main(String[] args) {      //Get standard date and time      java.util.Date javaDate = new java.util.Date();      long javaTime = javaDate.getTime();      System.out.println("The Java Date is:" +              javaDate.toString());      //Get and display SQL DATE by www.yiibai.com      java.sql.Date sqlDate = new java.sql.Date(javaTime);      System.out.println("The SQL DATE is: " +              sqlDate.toString());      //Get and display SQL TIME      java.sql.Time sqlTime = new java.sql.Time(javaTime);      System.out.println("The SQL TIME is: " +              sqlTime.toString());      //Get and display SQL TIMESTAMP      java.sql.Timestamp sqlTimestamp =      new java.sql.Timestamp(javaTime);      System.out.println("The SQL TIMESTAMP is: " +              sqlTimestamp.toString());     }//end main}//end SqlDateTime

現在讓我們來編譯上面的例子如下:

C:/>javac SqlDateTime.javaC:/>

當你運行JDBCExample的,它會產生以下結果:

C:/>java SqlDateTimeThe Java Date is:Tue Aug 18 13:46:02 GMT+04:00 2009The SQL DATE is: 2009-08-18The SQL TIME is: 13:46:02The SQL TIMESTAMP is: 2009-08-18 13:46:02.828C:/>
處理NULL值:

SQL使用NULL值和Java的使用null是不同的概念。那么如何在Java中處理SQL NULL值呢?有三種方法可以使用:

  1. 避免使用getXXX()方法返回的原始數據類型。

  2. 使用原始數據類型的包裝類,并使用ResultSet對象的wasNull()方法來測試的getXXX()方法返回的包裝類變量的值是否應被設置為null。

  3. 使用原始數據類型和ResultSet對象的wasNull()方法來測試是否收到原始變量,返回的值的getXXX()方法將被設置為選擇一個可接受的值代表一個NULL。

下面是一個例子來處理NULL值:

Statement stmt = conn.createStatement( );String sql = "SELECT id, first, last, age FROM Employees";ResultSet rs = stmt.executeQuery(sql);int id = rs.getInt(1);if( rs.wasNull( ) ) {   id = 0;}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 会昌县| 鲁山县| 云龙县| 平武县| 乐昌市| 商洛市| 达孜县| 三门峡市| 商河县| 含山县| 泸州市| 宁国市| 铜梁县| 西乡县| 宜章县| 苍山县| 惠水县| 大埔区| 汉中市| 息烽县| 兴安县| 石景山区| 定边县| 台南市| 建昌县| 罗源县| 垫江县| 双柏县| 桐梓县| 东平县| 巫溪县| 商丘市| 泗水县| 山阴县| 曲阳县| 丹巴县| 沙河市| 黄梅县| 武义县| 麻栗坡县| 岱山县|