『壹』 java都需要那些技術
Java工程師需要學習的技術還是比較多的。
尤其是現在技術更新迭代比較快,需要不斷學習掌握新的技術,給自身鍍金才能在IT行業發展的較好。
下面列舉出來一些需要掌握的技術:
1、理解Java面向對象思想
2、掌握開發中常用基礎API
3、熟練使用集合框架、IO流、異常
4、能夠基於JDK8開發
5、掌握流行關系型數據MySQL常見操作
6、熟練增刪改查數據處理
7、掌握Java JDBC、連接池操作
8、掌握基本的JavaWeb基礎知識JSP/Servlet/Vue等
9、具備基本的B/S結構軟體開發能力
10、可以動手開發一個B/S架構的Web項目
11、掌握SSM框架技術
12、掌握使用Maven進行模塊的開發
13、熟悉基本的Linux命令以及Linux伺服器的使用
14、掌握高級緩存技術Redis的原理,並熟練使用
15、掌握Git、Nginx、Docker、Elasticsearch、SpringBoot、SpringCloud、RabbitMQ、分布式事務、JVM、JUC、Zookeeper、Dubbo、Nacos等技術
16、企業級開發項目
雖然需要學習掌握的技術比較多,但是堅信「只要功夫深鐵杵磨成針」,加油!
『貳』 怎麼使用JAVA連接資料庫
1、載入驅動程序。
處理結果兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些 行中數據的訪問。
Statement
要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3 種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
『叄』 JAVA核心技術第8版高級特性和JAVA2核心技術第7版高級特性有什麼區別
其實了解一下書中介紹的內容就可以確定了,一般來說混搭是不會影響學習的,當然由於編排思路的改變可能有部分內容重疊,另外就是最新版本肯定包含了最新的思想了,我這邊把java2核心技術第8版書中寫的內容你和第七版對比一下就知道有哪些不同了,除了面向的 java se版本不一樣其他內容大部分一樣。
第八版高級特性內容如下:
1、輸入輸出處理(java 中,所有的I/O都是通過所謂的「流」來處理的)
2、介紹xml(解析xml以及使用xsl進行轉換,xpath API進行介紹)
3、介紹網路api (怎樣實現自己的伺服器,以及怎樣創建http連接)
4、介紹資料庫編程(重點jdbc ,使用java 資料庫進行連接api,探討了JNDI以及LDAP)
5、討論了國際化問題(java世界為可疑處理unicode的語言之一)
6、涵蓋了所有了swing知識包括復雜樹型構建和表格構建。
7、介紹了java2D api可以用它創建圖形和特殊效果,還介紹了窗口操作工具包 AWT的高級特性。
8、介紹了java平台的構建javaBean
9、繼續介紹java 安全模式
10、介紹分布式對象 (RMI,web service)
11、討論了三種處理代碼技術(腳本機制和編譯器api是在java se6中引入的,
他們允許程序調用使用諸如javascript或者groovy之類的腳本語言編寫的代碼,
並且允許程序去編譯java代碼。可以使用注釋向java程序中添加任意信息)
12、介紹本地化方法(如何調用微軟windows api等)
『肆』 如何在Java 8中愉快地處理日期和時間
Java 8新增了LocalDate和LocalTime介面,為什麼要搞一套全新的處理日期和時間的API?因為舊的java.util.Date實在是太難用了。
java.util.Date月份從0開始,一月是0,十二月是11,變態吧!java.time.LocalDate月份和星期都改成了enum,就不可能再用錯了。
java.util.Date和SimpleDateFormatter都不是線程安全的,而LocalDate和LocalTime和最基本的String一樣,是不變類型,不但線程安全,而且不能修改。
java.util.Date是一個「萬能介面」,它包含日期、時間,還有毫秒數,如果你只想用java.util.Date存儲日期,或者只存儲時間,那麼,只有你知道哪些部分的數據是有用的,哪些部分的數據是不能用的。在新的Java 8中,日期和時間被明確劃分為LocalDate和LocalTime,LocalDate無法包含時間,LocalTime無法包含日期。當然,LocalDateTime才能同時包含日期和時間。
新介面更好用的原因是考慮到了日期時間的操作,經常發生往前推或往後推幾天的情況。用java.util.Date配合Calendar要寫好多代碼,而且一般的開發人員還不一定能寫對。
LocalDate
看看新的LocalDate怎麼用:
// 取當前日期:
LocalDate today = LocalDate.now(); // -> 2014-12-24
// 根據年月日取日期,12月就是12:
LocalDate crischristmas = LocalDate.of(2014, 12, 25); // -> 2014-12-25
// 根據字元串取:
LocalDate endOfFeb = LocalDate.parse("2014-02-28"); // 嚴格按照ISO yyyy-MM-dd驗證,02寫成2都不行,當然也有一個重載方法允許自己定義格式
LocalDate.parse("2014-02-29"); // 無效日期無法通過:DateTimeParseException: Invalid date
日期轉換經常遇到,比如:
// 取本月第1天:
LocalDate firstDayOfThisMonth = today.with(TemporalAdjusters.firstDayOfMonth()); // 2014-12-01
// 取本月第2天:
LocalDate secondDayOfThisMonth = today.withDayOfMonth(2); // 2014-12-02
// 取本月最後一天,再也不用計算是28,29,30還是31:
LocalDate lastDayOfThisMonth = today.with(TemporalAdjusters.lastDayOfMonth()); // 2014-12-31
// 取下一天:
LocalDate firstDayOf2015 = lastDayOfThisMonth.plusDays(1); // 變成了2015-01-01
// 取2015年1月第一個周一,這個計算用Calendar要死掉很多腦細胞:
LocalDate firstMondayOf2015 = LocalDate.parse("2015-01-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)); // 2015-01-05
LocalTime
LocalTime只包含時間,以前用java.util.Date怎麼才能只表示時間呢?答案是,假裝忽略日期。
LocalTime包含毫秒:
LocalTime now = LocalTime.now(); // 11:09:09.240
你可能想清除毫秒數:
LocalTime now = LocalTime.now().withNano(0)); // 11:09:09
構造時間也很簡單:
LocalTime zero = LocalTime.of(0, 0, 0); // 00:00:00
LocalTime mid = LocalTime.parse("12:00:00"); // 12:00:00
時間也是按照ISO格式識別,但可以識別以下3種格式:
12:00
12:01:02
12:01:02.345
JDBC
最新JDBC映射將把資料庫的日期類型和Java 8的新類型關聯起來:
SQL -> Java
--------------------------
date -> LocalDate
time -> LocalTime
timestamp -> LocalDateTime
再也不會出現映射到java.util.Date其中日期或時間某些部分為0的情況了。
『伍』 java 中JDBC 是干什麼的
JDBC(Java Data Base Connectivity,java資料庫連接)是一種用於執行SQL語句的Java API,可以為多種關系資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。JDBC提供了一種基準,據此可以構建更高級的工具和介面,使資料庫開發人員能夠編寫資料庫應用程序,同時,JDBC也是個商標名。
目錄
定義
用途
API
與ODBC和其它API的比較
對B/S和C/S模式的支持
SQL的一致性
入門-建立聯接裝載驅動程序
建立連接
入門-設置表創建表
創建對象
執行語句
在表中輸入數據
從表中取得數據
建立JDBC連接綜述
打開連接
一般用法的URL
JDBC URL
"odbc"子協議
發送SQL語句
事務
事務隔離級別
JDBC驅動管理綜述
跟蹤可用驅動程序
建立連接
利用JDBC發送SQL語句綜述
創建Statement對象
使用Statement對象執行語句
語句完成
關閉Statement對象
使用方法execute
基於JDBC的資料庫通用訪問方法通用資料庫Bean設計
資料庫表結構
JSP設計
在JSP中實現分頁顯示
如何選擇合適的JDBC產品JavaSoft框架
JDBC驅動程序的類型
JDBC驅動程序的獲取
JDBC的不足定義
用途
API
與ODBC和其它API的比較
對B/S和C/S模式的支持
SQL的一致性
入門-建立聯接 裝載驅動程序
建立連接
入門-設置表 創建表
創建對象
執行語句
在表中輸入數據
從表中取得數據
建立JDBC連接
綜述 打開連接 一般用法的URL JDBC URL "odbc"子協議 發送SQL語句 事務 事務隔離級別JDBC驅動管理
綜述 跟蹤可用驅動程序 建立連接利用JDBC發送SQL語句
綜述 創建Statement對象 使用Statement對象執行語句 語句完成 關閉Statement對象 使用方法execute基於JDBC的資料庫通用訪問方法
通用資料庫Bean設計 資料庫表結構 JSP設計在JSP中實現分頁顯示如何選擇合適的JDBC產品
JavaSoft框架 JDBC驅動程序的類型 JDBC驅動程序的獲取JDBC的不足展開 編輯本段定義
JDBC(Java Data Base Connectivity,java資料庫連接)是一種用於執行SQL語句的Java API,可以為多種關系資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。JDBC為工具/資料庫開發人員提供了一個標準的API,據此可以構建更高級的工具和介面,使資料庫開發人員能夠用純 Java API 編寫資料庫應用程序,同時,JDBC也是個商標名。 有了JDBC,向各種關系數據發送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase資料庫專門寫一個程序,為訪問Oracle資料庫又專門寫一個程序,或為訪問Informix資料庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應資料庫發送SQL調用。同時,將Java語言和JDBC結合起來使程序員不必為不同的平台編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平台上運行,這也是Java語言「編寫一次,處處運行」的優勢。 Java資料庫連接體系結構是用於Java應用程序連接資料庫的標准方法。JDBC對Java程序員而言是API,對實現與資料庫連接的服務提供商而言是介面模型。作為API,JDBC為程序開發提供標準的介面,並為資料庫廠商及第三方中間件廠商實現與資料庫的連接提供了標准方法。JDBC使用已有的SQL標准並支持與其它資料庫連接標准,如ODBC之間的橋接。JDBC實現了所有這些面向標準的目標並且具有簡單、嚴格類型定義且高性能實現的介面。 Java 具有堅固、安全、易於使用、易於理解和可從網路上自動下載等特性,是編寫資料庫應用程序的傑出語言。所需要的只是 Java應用程序與各種不同資料庫之間進行對話的方法。而 JDBC 正是作為此種用途的機制。 JDBC 擴展了 Java 的功能。例如,用 Java 和 JDBC API 可以發布含有 applet 的網頁,而該 applet 使用的信息可能來自遠程資料庫。企業也可以用 JDBC 通過 Intranet 將所有職員連到一個或多個內部資料庫中(即使這些職員所用的計算機有 Windows、 Macintosh 和UNIX 等各種不同的操作系統)。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問資料庫的要求也在日益增加。 MIS 管理員們都喜歡 Java 和 JDBC 的結合,因為它使信息傳播變得容易和經濟。企業可繼續使用它們安裝好的資料庫,並能便捷地存取信息,即使這些信息是儲存在不同資料庫管理系統上。新程序的開發期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應用程序或只更新一次,然後將它放到伺服器上,隨後任何人就都可得到最新版本的應用程序。對於商務上的銷售信息服務, Java 和JDBC 可為外部客戶提供獲取信息更新的更好方法。
編輯本段用途
簡單地說,JDBC 可做三件事:與資料庫建立連接、發送 操作資料庫的語句並處理結果。下列代碼段給出了以上三步的基本示例: Connection con = DriverManager.getConnection("jdbc:odbc:wombat","login", "password"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1"); while (rs.next()) { int x = rs.getInt("a"); String s = rs.getString("b"); float f = rs.getFloat("c"); } 上述代碼對基於JDBC的資料庫訪問做了經典的總結,當然,在本小節的後續部分會對它做詳盡的分析講解。
編輯本段API
JDBC 是個"低級"介面,也就是說,它用於直接調用 SQL 命令。在這方面它的功能極佳,並比其它的資料庫連接 API 易於使用,但它同時也被設計為一種基礎介面,在它之上可以建立高級介面和工具。高級介面是"對用戶友好的"介面,它使用的是一種更易理解和更為方便的 API,這種API在幕後被轉換為諸如 JDBC 這樣的低級介面。 在關系資料庫的"對象/關系"映射中,表中的每行對應於類的一個實例,而每列的值對應於該實例的一個屬性。於是,程序員可直接對 Java 對象進行操作;存取數據所需的 SQL 調用將在"掩蓋下"自動生成。此外還可提供更復雜的映射,例如將多個表中的行結合進一個 Java 類中。 隨著人們對 JDBC 的興趣日益增漲,越來越多的開發人員一直在使用基於 JDBC 的工具,以使程序的編寫更加容易。程序員也一直在編寫力圖使最終用戶對資料庫的訪問變得更為簡單的應用程序。例如應用程序可提供一個選擇資料庫任務的菜單。任務被選定後,應用程序將給出提示及空白供填寫執行選定任務所需的信息。所需信息輸入應用程序將自動調用所需的 SQL 命令。在這樣一種程序的協助下,即使用戶根本不懂 SQL 的語法,也可以執行資料庫任務。
編輯本段與ODBC和其它API的比較
目前,Microsoft 的 ODBC API 可能是使用最廣的、用於訪問關系資料庫的編程介面。它能在幾乎所有平台上連接幾乎所有的資料庫。為什麼 Java 不使用 ODBC?對這個問題的回答是:Java 可以使用 ODBC,但最好是在 JDBC 的幫助下以 JDBC-ODBC 橋的形式使用,這一點我們稍後再說。現在的問題已變成:"為什麼需要 JDBC"?答案是顯然的:ODBC 不適合直接在 Java 中使用,因為它使用 C 語言介面。從Java 調用本地 C 代碼在安全性、實現、堅固性和程序的自動移植性方面都有許多缺點。從 ODBC C API 到 Java API 的字面翻譯是不可取的。例如,Java 沒有指針,而 ODBC 卻對指針用得很廣泛(包括很容易出錯的指針"void *")。您可以將 JDBC 想像成被轉換為面向對象介面的 ODBC,而面向對象的介面對 Java 程序員來說較易於接受。 ODBC 很難學。它把簡單和高級功能混在一起,而且即使對於簡單的查詢,其選項也極為復雜。相反,JDBC 盡量保證簡單功能的簡便性,而同時在必要時允許使用高級功能。啟用"純 Java "機制需要象 JDBC 這樣的 Java API。如果使用ODBC,就必須手動地將 ODBC 驅動程序管理器和驅動程序安裝在每台客戶機上。如果完全用 Java 編寫 JDBC 驅動程序則 JDBC 代碼在所有 Java 平台上(從網路計算機到大型機)都可以自 動安裝、移植並保證安全性。 總之,JDBC API 對於基本的 SQL 抽象和概念是一種自然的 Java 介面。它建立在 ODBC 上而不是從零開始。因此,熟悉 ODBC 的程序員將發現 JDBC 很容易使用。JDBC 保留了 ODBC 的基本設計特徵;事實上,兩種介面都基於 X/Open SQL CLI(調用級介面)。它們之間最大的區別在於:JDBC 以 Java 風格與優點為基礎並進行優化,因此更加易於使用。 目前,Microsoft 又引進了 ODBC 之外的新 API: RDO、 ADO 和OLE DB。這些設計在許多方面與 JDBC 是相同的,即它們都是面向對象的資料庫介面且基於可在 ODBC 上實現的類。但在這些介面中,我們未看見有特別的功能使我們要轉而選擇它們來替代 ODBC,尤其是在 ODBC 驅動程序已建立起較為完善的市場的情況下。它們最多也就是在 ODBC 上加了一種裝飾而已。
編輯本段對B/S和C/S模式的支持
JDBC API 既支持資料庫訪問的兩層模型(C/S),同時也支持三層模型(B/S)。在兩層模型中,Java applet或應用程序將直接與資料庫進行對話。這將需要一個JDBC驅動程序來與所訪問的特定資料庫管理系統進行 通訊。用戶的SQL語句被送往資料庫中,而其結果將被送回給用戶。資料庫可以位於另一台計算機上,用戶通過網路連接到上面。這就叫做客戶機/伺服器配置,其中用戶的計算機為客戶機,提供資料庫的計算機為伺服器。網路可以是 Intranet(它可將公司職員連接起來),也可以是 Internet。 在三層模型中,命令先是被發送到服務的"中間層",然後由它將SQL 語句發送給資料庫。資料庫對 SQL 語句進行處理並將結果送回到中間層,中間層再將結果送回給用戶。MIS 主管們都發現三層模型很吸引人,因為可用中間層來控制對公司數據的訪問和可作的的更新的種類。中間層的另一個好處是,用戶可以利用易於使用的高級API,而中間層將把它轉換為相應的低級調用。最後,許多情況下三層結構可提供一些性能上的好處。 到目前為止,中間層通常都用 C 或 C++ 這類語言來編寫,這些語言執行速度較快。然而,隨著最優化編譯器(它把 Java 位元組代碼轉換為高效的特定於機器的代碼)的引入,用 Java 來實現中間層將變得越來越實際。這將是一個很大的進步,它使人們可以充分利用 Java 的諸多優點(如堅固、多線程和安全等特徵)。JDBC 對於從Java的中間層來訪問資料庫非常重要。
編輯本段SQL的一致性
結構化查詢語言 (SQL) 是訪問關系資料庫的標准語言。困難之處在於:雖然大多數的 DBMS (資料庫管理系統)對其基本功能都使用了標准形式的 SQL,但它們卻不符合最近為更高級的功能定義的標准 SQL 語法或語義。例如,並非所有的資料庫都支持儲存程序或外部連接,那些支持這一功能的資料庫又相互不一致。人們希望 SQL 中真正標準的那部份能夠進行擴展以包括越來越多的功能。但同時 JDBC API 又必須支持現有的 SQL。 JDBC API 解決這個問題的一種方法是允許將任何查詢字元串一直傳到所涉及的 DBMS 驅動程序上。這意味著應用程序可以使用任意多的 SQL 功能,但它必須冒這樣的風險:有可能在某些 DBMS 上出錯。事實上,應用程序查詢甚至不一定要是 SQL,或者說它可以是個為特定的 DBMS 設計的 SQL 的專用派生物(例如,文檔或圖象查詢)。 JDBC 處理 SQL 一致性問題的第二種方法是提供 ODBC 風格的轉義子句,這將在後續部分中討論。轉義語法為幾個常見的 SQL 分歧提供了一種標準的 JDBC 語法。例如,對日期文字和已儲存過程的調用都有轉義語法。 對於復雜的應用程序,JDBC 用第三種方法來處理 SQL 的一致性問題它利用 DatabaseMetaData 介面來提供關於 DBMS 的描述性信息,從而使應用程序能適應每個 DBMS 的要求和功能。