① java.sql的sql包內容
java.sql 包中包含用於以下方面的 API:
通過 DriverManager 實用程序建立與資料庫的連接
DriverManager 類:建立與驅動程序的連接
SQLPermission 類:代碼在 Security Manager(比如 applet)中運行時提供許可權,試圖通過 DriverManager 設置一個記錄流
Driver 介面:提供用來注冊和連接基於 JDBC 技術(「JDBC驅動程序」)的驅動程序的 API,通常僅由 DriverManager 類使用
DriverPropertyInfo 類:提供 JDBC 驅動程序的屬性,不是供一般用戶使用的向資料庫發送 SQL 語句
Statement:用於發送基本 SQL 語句
PreparedStatement:用於發送准備好的語句或基本 SQL 語句(派生自 Statement)
CallableStatement:用於調用資料庫存儲過程(派生自 PreparedStatement)
Connection 介面:提供創建語句以及管理連接及其屬性的方法
Savepoint:在事務中提供保存點
獲取和更新查詢的結果
ResultSet 介面
SQL 類型到 Java 編程語言中的類和介面的標准映射關系
Array 介面:SQL ARRAY 的映射關系
Blob 介面:SQL BLOB 的映射關系
Clob 介面:SQL CLOB 的映射關系
Date 類:SQL DATE 的映射關系
NClob 介面:SQL NCLOB 的映射關系
Ref 介面:SQL REF 的映射關系
RowId 介面:SQL ROWID 的映射關系
Struct 介面:SQL STRUCT 的映射關系
SQLXML 介面:SQL XML 的映射關系
Time 類:SQL TIME 的映射關系
Timestamp 類:SQL TIMESTAMP 的映射關系
Types 類:提供用於 SQL 類型的常量
自定義映射 SQL 用戶定義類型 (UDT) 到 Java 編程語言中的類
SQLData 介面:指定 UDT 到此類的一個實例的映射關系
SQLInput 介面:提供用來從流中讀取 UDT 屬性的方法
SQLOutput 介面:提供用來將 UDT 屬性寫迴流中的方法
元數據
DatabaseMetaData 介面:提供有關資料庫的信息
ResultSetMetaData 介面:提供有關 ResultSet 對象的列的信息
ParameterMetaData 介面:提供有關 PreparedStatement 命令的參數的信息
異常
SQLException:由大多數方法在訪問數據出問題時拋出,以及因為其他原因由其他一些方法拋出
SQLWarning:為了指示一個警告而拋出
DataTruncation:為了指示數據可能已經被截斷而拋出
BatchUpdateException:為了指示並不是批量更新中的所有命令都成功執行而拋出
② java.sql軟體包不存在是怎麼回事啊
第一個是在程序開始時候要導入程序用到的包,關於SQL的,因為程序代碼用到裡面的類.
第二個你查下ResultSet rs = book.getBookList(); 這句和附近兩句有沒有大小寫錯誤.
注意事項不要理它即可.
③ 引入包的時候,import java.sql.*和分別引入有區別么
java中import用法單類型導入(single-type-import),例如import java.io.File;按需類型導入(type-import-on-demand),例如 import java.io.*;關於這兩種導入類型大家各有所愛,眾說紛紜。這里分析一下這兩種導入類型的大致工作原理供大家參考。單類型導入比較好理解,僅僅導入一個public類或者介面。而對於按需類型導入,有人誤解為導入一個包下的所有類,其實不然,看名字就知道,他只會按需導入,也就是說它並非導入整個包,而僅僅導入當前類需要使用的類。既然如此是不是就可以放心的使用按需類型導入呢?非也,非也。因為單類型導入和按需類型導入對類文件的定位演算法是不一樣的。java編譯器會從啟動目錄(bootstrap),擴展目錄(extension)和用戶類路徑下去定位需要導入的類,而這些目錄進僅僅是給出了類的頂層目錄。編譯器的類文件定位方法大致可以理解為如下公式:頂層路徑名 \ 包名 \ 文件名.class = 絕對路徑對於單類型導入很簡單,因為包明和文件名都已經確定,所以可以一次性查找定位。對於按需類型導入則比較復雜,編譯器會把包名和文件名進行排列組合,然後對所有的可能性進行類文件查找定位。例如:package com;import java.io.*;import java.util.*;當你的類文件中用到了File類,那麼可能出現File類的地方如下File \\ File類屬於無名包,就是說File類沒有package語句,編譯器會首先搜索無名包com.File \\ File類屬於當前包java.lang.File \\編譯器會自動導入java.lang包java.io.Filejava.util.File需要注意的地方就是,編譯器找到java.io.File類之後並不會停止下一步的尋找,而要把所有的可能性都查找完以確定是否有類導入沖突。假設此時的頂層路徑有三個,那麼編譯器就會進行3*5=15次查找。了解以上原理之後,我們可以得出這樣的結論:按需類型導入是絕對不會降低Java代碼的執行效率的,但會影響到Java代碼的編譯速度。查看JDK的源代碼就知道SUN的軟體工程師一般不會使用按需類型導入。因為使用單類型導入至少有以下兩點好處:1。提高編譯速度。2。避免命名沖突。(例如:當你import java.awt.*;import java.util.*後,使用List的時候編譯器將會出編譯錯誤)當然,使用單類型導入會使用你的import語句看起來很長。
參考:http://..com/link?url=yH2M-dwdGi__Rv8Ph2XrOP5vrbLXEQSW3mGjBVC23-baFSxq
我也學習了,謝謝
④ 如何將sql jar包引入到Java項目中
滑鼠移到項目上去!屬性》添加》在把你的JDBC添加進去就可以了第二種方法:直接把你的SQL JDBC復制到web的lib目錄下面 建議用第二種!這樣如果在別的地方運行你的項目就不需要再次配置JDBC了