- 使用Hibernate框架輕松連接數據庫(藍橋杯軟件大賽培訓教材-Java方向)
- 工業和信息化部人才交流中心藍橋杯軟件大賽專家委員會編著
- 4012字
- 2018-12-27 17:47:34
前言
“藍橋杯”軟件大賽
1984年,被稱作中國現代公司的元年。這一年,在中國科學院計算所的傳達室內,一家新技術公司成立了,時年40歲的柳傳志擔任主管經營的副總經理。在上任前,中科院副院長周光召找柳傳志談話,問他對公司有什么打算,他信誓旦旦地說:“將來我們要成為一家年產值200萬元的大公司。”
這家公司,就是后來的聯想。2013年,它成為了世界第一大PC廠商,市值超過100億美元。
柳傳志當然想不到聯想的擴張會如此地迅速,當然,他也未必能預測到,另外兩家成立于1998和1999年的小公司——騰訊和阿里巴巴的市值會超過1000億美元。
聯想、騰訊和阿里巴巴為什么會有今天?沒人否認柳傳志、馬化騰和馬云的智慧,但他們成功背后的信息化浪潮也許更為重要。谷歌科學家、騰訊副總裁吳軍在《浪潮之巔》一書中說:“近一百多年來,總有一些公司很幸運地、有意識或者無意識地站在技術革命的浪尖之上。一旦處在了那個位置,即使不做任何事,也可以隨著波浪順順當當地向前漂個十年甚至更長的時間。在這十幾年間,它們代表著科技的浪潮,直到下一波浪潮的來臨。
這些公司里面大大小小的人在外人看來都是時代的幸運兒。因為,雖然對于一個公司來講,趕上一次浪潮不能保證它長盛不衰;但是,對于一個人來講,一生趕上這樣一次浪潮就足夠了。”
所以,我們這一代人是何其幸運,能夠趕上人類社會的一次大變革。所謂時勢造英雄。而所有學習軟件的學生,這種幸運比之普通人,則更多了一個量級。因為你們近水樓臺,有先得月的優勢。也許你最終不會像上述名字那么顯赫,但你已經有了不平庸的機會。
整個IT領域的快速成長,也反映在中國各大高校的專業設置上。根據統計,全國設置計算機相關專業的高校超過1000所,以滿足企業源源不斷的人才需求。
但一個吊詭的現象出現了,那就是就業難。2013年,全國有699萬大學畢業生步入就業市場,這一年也被稱為“史上最難就業年”。其中,求才若渴的IT領域,也并不例外。
為了了解整個軟件行業的人才現狀,工業和信息化部人才交流中心進行了一系列的調研工作,并研究如何來解決高校軟件相關專業大學畢業生的就業難題。通過與高校和企業座談,以及實地調研,最終得出了一個結論:中國的軟件人才是結構性偏差。
企業,并不缺乏就業機會。我國IT產業在過去的五年里,經歷了28%的年均增長速度,是同期國家GDP增長速度的三倍。2012年,我國軟件產業共實現收入2.47萬億元,同比增長31.5%,首次邁入2萬億臺階;預計到2015年,這個數字將達到4萬億元。
企業所苦惱的,是高校畢業生不能滿足其實際需要。如果企業自己培養,則需要付出高額的時間和金錢成本,加重企業的負擔。
高校,并不是不想改變。美國硅谷,與斯坦福大學相得益彰,成為一段佳話。但全世界的成功案例,也寥寥無幾。那些名聲赫赫的大學,也同樣在苦惱于如何去適應快速變化的時代。身處在改革之中的中國高等教育,則更多了一份挑戰。它們所苦惱的,是學生技能,如何對接到現實的市場需求。教育體制改革,絕非一日之功,而學生需求,則時不我待。
為了改變軟件人才短缺制約產業發展的狀況,加快培養、選拔和輸送優秀的軟件專業技術人才,緩解企業人才招聘壓力,工業和信息化部人才交流中心籌辦了“藍橋杯全國軟件大賽”。自2009年開始,“藍橋杯全國軟件大賽”每年舉辦一屆,參加比賽的高校規模達到1100多所。全國大部分的“211”、“985”、一類本科和二類本科及其他院校參賽,每屆參賽的大學生超過20000人。大賽同時吸引了全國100多家知名軟件企業參與其中,直接面向參賽大學生進行招聘,并對獲獎者提供“綠卡”,獲獎者畢業后可以免試入職這些知名企業。
基于多次研討確定的軟件行業人才選拔和培養標準,工業和信息化部人才交流中心組織了部委、高校、企業的專家組成專家委員會,聯合IBM教育學院,經過一年多的精心策劃和組織,設計了培訓課程,并編寫了系列教材作為課程的核心和基礎。課程根據所用技術、面向職位不同,又可分為Java方向課程、軟件測試方向課程等,本套教材是Java方向課程所使用的教材。
課程設計理念
本套課程采用先進的課程設計理念:逆向課程設計。有別于傳統的正向課程設計(先確定培養目標,再設計課程大綱,然后組織編寫教材),逆向課程設計強調通過企業調研獲得培養目標;對企業調研中獲得的在企業工作中需要的技術點進行評估,選擇能幫助學生進入IT行業從事相關崗位的技術點作為課程的重點;在介紹這些技術點的過程中,采用項目貫穿的形式組織技術點,使學生既能學會技術點,同時也知道如何在項目中使用這些技術點。這樣設計出來的課程更符合企業工作要求,培養出來的學生更能滿足企業招聘需求。
技術點選擇——面向崗位直接需求
從Java方向相關崗位企業需要的技術點上看,通過企業調研分析,不同的企業Java方向相關崗位需要掌握多種不同的技術,而讓一個在校學生在有限的時間里全面掌握這些技術是不可能的,也是沒有必要的。所以課程在技術點的選擇上,側重點放在面向就業崗位的直接需求,選擇那些能幫助學生進入Java軟件開發工程師等相關崗位,并能直接上手開展工作所需要的技術點。
本套課程對技術點的講解不求大而全,不求面面俱到,而是企業中用什么、怎么用。課程主要內容集中在核心技術原理、軟件開發流程、主流框架技術、常用開發工具、編碼調試經驗等,讓學生通過這些內容的學習,掌握實際的技能,獨立從事Java方向相關崗位的工作。
課程組織形式——案例驗證、項目貫穿
選擇完需要講授的技術點之后,課程采用了案例驗證和項目貫穿的形式組織這些技術點。案例驗證是指在講解每一個技術點的時候,都會通過一個或多個案例對該技術點進行驗證,加深學生對該技術點的認知和理解。項目貫穿有兩種形式:一種形式是在講解完幾個或十幾個技術點后,通過完成一個完整的項目或者項目的一部分來貫穿之前學習的這些技術點,使學生既能理解這些技術點,同時也知道在項目的哪些地方需要用以及如何用這些技術點;另一種形式是一邊學習技術點,一邊完成項目的某些對應功能,這樣,當這些技術點的學習告一段落時,項目也完成了主要的功能。
在案例的選擇上,課程力求選擇最具有代表性的案例進行講解,使學生的理解更加深刻。在項目的選擇上,既考慮選擇與企業實際項目類似的實用性強的項目,同時也注意不選擇那些需要花很多的時間去理解業務的項目。通過這樣的選擇,能保證學生在相對較短的時間里獲取更多的項目經驗。
課程體系結構
本課程是為培養Java軟件開發工程師及相關崗位而精心設計的課程。全部課程分三大部分,下面對這三個部分進行簡單的介紹。
第1部分:Java基礎
Java基礎部分,介紹的是JavaSE的內容,在整個課程體系中起到了基石的作用。該部分包含“使用Java語言編寫程序案例”和“深入學習Java開發簡單應用”兩門課程。
在“使用Java語言編寫程序案例”課程里,讀者將學習如下內容:
(1)Java程序工作原理,Java開發環境。
(2)數據類型和運算符,程序流程控制,如何使用數組以及使用方法組織程序結構。
(3)用面向對象的思想理解類、對象,使用包組織類結構以及進行訪問權限控制。
(4)面向對象的封裝、繼承、多態等特性,會使用抽象類和接口。
在“深入學習Java開發簡單應用”課程里,讀者將學習如下內容:
(1)Java異常處理機制。
(2)數據結構、集合和泛型。
(3)XML及使用Java進行輸入/輸出操作。
(4)反射機制、多線程、網絡編程、Java注解等。
(5)軟件測試及JUnit單元測試工具。
第2部分:Web應用技術及數據庫
第2部分包含“使用前端技術展現Web系統”、“從程序員角度學習數據庫技術”和“運用后端技術處理業務邏輯”三門課程,概括起來就是分別介紹Web應用的前端技術、數據庫和后端技術。
在“使用前端技術展現Web系統”課程里,涉及的主要技術包括:
(1)HTML結構和基本標簽。
(2)CSS樣式表使用。
(3)使用表格、框架和DIV+CSS等進行頁面布局。
(4)JavaScript語法,使用JavaScript進行BOM、DOM編程和CSS操作。
(5)使用JavaScript進行客戶端表單驗證。
在“從程序員角度學習數據庫技術”課程里,主要包含如下內容:
(1)關系型數據庫Oracle介紹。
(2)簡單查詢、多表連接查詢、單行函數、分組和組函數及子查詢。
(3)插入、刪除、更改表數據,數據庫事務。
(4)創建、修改、刪除表,創建和維護約束。
(5)數據庫用戶和角色,授予和撤銷對象權限。
(6)視圖、序列、索引、存儲過程、觸發器等數據庫對象。
在“運用后端技術處理業務邏輯”課程里,主要學習到的后端技術包括:
(1)JSP基本語法,JSP九大內置對象。
(2)Tomcat服務器,Eclipse集成開發環境。
(3)JDBC連接數據庫,數據庫連接池技術。
(4)JavaBean和分層模式。
(5)EL表達式和JSTL標簽。
(6)Servlet生命周期,Servlet處理用戶請求。
(7)AJAX技術原理及具體應用,JQuery框架。
第3部分:主流三大框架
第3部分圍繞著Java方向主流的SSH三大框架進行講解,包括“使用Hibernate框架輕松連接數據庫”、“使用Struts搭建MVC模式商業應用”和“使用Spring整合框架及銀行業務簡介”三門課程。
在“使用Hibernate框架輕松連接數據庫”課程里,介紹了Hibernate框架的如下內容:
(1)ORM概念、Hibernate核心API、持久化對象的3種狀態。
(2)一對一、多對一、一對多、多對多關聯。
(3)開發模式與Hibernate工具的使用。
(4)HQL查詢、Criteria查詢、原生SQL查詢。
(5)Hibernate加載策略,Hibernate緩存優化。
(6)持久層設計,JPA介紹。
(7)5iJob項目實戰。
在“使用Struts搭建MVC模式商業應用”課程里,將會學習到如下內容:
(1)MVC模式、Struts 2工作原理。
(2)Struts 2開發和配置。
(3)OGNL類型轉換和表達式,Struts 2內建轉換器、自定義轉換器。
(4)Struts 2標簽庫、Struts 2 UI標簽。
(5)攔截器、Struts 2國際化支持、Struts 2常用插件。
在“使用Spring整合框架及銀行業務簡介”課程里,涉及的主要內容包括:
(1)Spring整體架構。
(2)IOC容器、依賴注入。
(3)AOP框架、聲明式事務管理。
(4)SSH集成開發。
(5)電話銀行中心部分業務需求介紹。
“藍橋杯”,旨在為軟件企業和高校學生之間搭建起一座橋梁。作為在校大學生,要想成為優秀人才或精英人才,需要全面提高綜合素質,同時轉變觀念,通過各類途徑提升技能和經驗,才能在激烈的競爭中把握機會取得成功。“藍橋杯”將與高校學子和企業一起,共同成長,共創輝煌!
編者
- 少兒人工智能趣味入門:Scratch 3.0動畫與游戲編程
- Learning LibGDX Game Development(Second Edition)
- Vue.js設計與實現
- 測試驅動開發:入門、實戰與進階
- LabVIEW Graphical Programming Cookbook
- 企業級Java EE架構設計精深實踐
- 深度強化學習算法與實踐:基于PyTorch的實現
- 焊接機器人系統操作、編程與維護
- Learning Probabilistic Graphical Models in R
- Instant Lucene.NET
- Mastering React
- Visualforce Developer’s guide
- Unity 2018 Augmented Reality Projects
- Enterprise Application Architecture with .NET Core
- Python 3.6從入門到精通(視頻教學版)