999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于問題解決的JDBC教學方法改革和探討

2019-01-07 06:18:48楊廷發蘭全祥
赤峰學院學報·自然科學版 2018年12期
關鍵詞:數據庫教學方法工程

楊廷發,蘭全祥

(攀枝花學院,四川 攀枝花 617000)

1 前言

JDBC(Java DataBase Connectivity,Java數據庫連接)是Java的重要組成部分,也是Java程序訪問數據庫的主要方式[1].在系統開發中,不論是B/S還是C/S的系統都要進行數據庫連接,JDBC可以實現系統和不同數據庫之間的連接,是Java程序設計課程重點講解的內容之一.但現有的JDBC教學主要采用的是認知主義學習理論(理論教學)和行為主義學習理論(實踐教學),學生在學習過程中大多處于被動學習狀態,學習效果較差.基于問題解決的教學方法根據《華盛頓協議》關于復雜工程問題特征的界定、解決復雜工程問題能力的要求以及工程實踐對高等工程教育人才培養提出的要求對學生復雜工程問題解決能力進行培養[2].基于問題解決的教學方法將理論學習、實踐操作有機地結合在一起,采用問題驅動的方式將知識融入實際工程應用當中,有利于從根本上理解問題、解決問題,培養學生的創新意識,促進學生問題意識的培養,探索精神和創新能力的形成.另外,以基于問題解決的教學方法來構建JDBC的知識體系,有助于學生對Java企業級開發框架的理解,如Hibernate、MyBatis等.

2 JDBC教學內容及重點

通過對部分高校的課程教學大綱以及一些在線課程的了解,大部分高校和在線課程均會講解JDBC的概念、JDBC的重要接口、JDBC的開發步驟等,少部分課程在講解JDBC的時候會提及到數據庫優化(如數據庫連接池、DAO、配置文件、數據庫工具類等).

2.1 JDBC的概念及結構

在JDBC的概念部分,重點講解JDBC是一些用Java語言編寫的類和接口的集合,是進行數據庫操作的Java API,是Java程序訪問數據庫的一種規范,強調JDBC作為數據庫操作接口的作用.

在講解JDBC的結構部分時,則應突出JDBC的分層結構,使學生對JDBC的結構有清晰、明確的認識,為后續知識講解奠定基礎.JDBC的結構如圖1所示.

圖1 JDBC結構

2.2 JDBC API

JDBC API是JDBC知識的核心,只有對API中的方法和作用有較為清晰的認識和學習,學生才能進行Java數據庫開發.在JDBC API講解時,應重點講授 DriverManager、Connection、Statement、PreparedStatement、ResultSet等類和接口,同時對這些類和接口中的常用方法進行講解.

2.2.1 DriverManager

DriverManager主要是用于管理已加載的驅動程序,如各種數據庫的驅動程序.在講解Driver-Manager類時應強調到此類是JDBC開發的前序步驟,并重點講解Class.forName()方法和DriverManager.getConnection()方法.

在方法的講解中應強調Class.forName()利用了Java的反射機制,在進行驅動注冊的時候將拋出ClassNotFoundException 異常;getConnection()方法是DriverManager類的靜態方法,可通過類名直接調用,在獲得連接的時候可能會SQLException異常.

2.2.2 Connection

Connection表示一個和數據庫的連接,在Connection接口中可以創建用于執行SQL語句的命令對象.在講解Connection接口時應強調此接口用于創建命令對象的方法,如創建Statement、Prepared-Statement、CallableStatement命令對象,并講解 close()方法.在講解close()方法的時候應注意訓練學生“有借有還”的習慣,使用了資源一定要釋放.

2.2.3 Statement

Statement用于執行靜態SQL語句并返回其執行結果.在講解Statement接口時,應重點講解Statement執行SQL語句的方法,強調不同的SQL語句要選用不同的執行方法.接口中executeQuery()方法主要用于執行查詢類SQL語句,其返回類型為結果集ResultSet;executeUpdate()方法主要用于執行更新類SQL語句,其返回類型為整型.

2.2.4 PreparedStatement

PreparedStatement表示預編譯的命令對象.在講解過程中應強調PreparedStatement接口與Statement接口的區別,包括它們的優缺點、使用區別以及適用情況.重點講解PreparedStatement接口的易讀性、高效性、安全性.

Statement命令對象在執行帶參數的SQL語句時容易留下SQL注入式攻擊的隱患,Prepared-Statement能夠有效防止該攻擊手段,因此為了進一步結合工程應用實踐,可以適當講解部分網絡安全知識.

2.2.5 ResultSet

ResultSet用于表示執行查詢語句后得到的結果.在講解ResultSet()接口的時候,應重點講解如何遍歷結果集,如何將查詢的數據轉化為Java集合.在講解此部分時可利用圖示的方式加深學生對于結果集處理的印象.

2.3 JDBC開發步驟

了解并學會JDBC的開發步驟有助于學生快速、準確地進行Java數據庫開發.在JDBC開發步驟的講解過程中,一般將開發步驟分為注冊驅動并建立連接、發送命令并處理結果以及釋放資源三個步驟.

在JDBC開發步驟的教學中應重點講解JDBC每個步驟之間的聯系,加深學生對于開發步驟的印象,并強調最后應當對所有資源進行釋放.

2.4 JDBC優化

JDBC優化部分作為JDBC的進階學習,有助于培養學生對于復雜工程問題的解決能力[3].JDBC的優化部分可以講解數據庫連接池、數據庫配置信息讀取、封裝數據庫工具類、DAO、工廠設計模式等內容.

數據庫連接池的講解有助于提高學生對于程序優化的能力;數據庫配置信息的讀取有助于培養學生“高內聚,低耦合”的編程思維;封裝數據庫工具類有助于提高學生對程序復用的能力;DAO和設計模式有助于培養學生的模塊化設計思維.

3 基于問題解決的教學方法

3.1 教學現狀

各高校的Java相關課程體系都將JDBC部分納入了教學大綱,并要求學生系統地掌握JDBC基礎知識,能實現簡單的數據庫開發,但在實際的教學過程中仍存在一些問題需要解決.

3.1.1 內容過于基礎,無法與實際工程問題相結合

由于學時和學生能力水平的限制,以教師為中心的教學法通常只講解JDBC的基礎部分,很少會講解到實際工程問題的解決,如JDBC優化部分.然而,簡單、基礎的JDBC知識離實際的工程應用還有很大的差距,容易造成“學”與“用”不能有機結合.

大多數情況下,教學大綱中只要求講解什么是JDBC,JDBC是用來做什么的,怎么用JDBC進行開發.對原理性知識、本質性問題(如“為什么JDBC可以實現與不同數據庫進行連接”,“為什么JDBC是一組類和接口”)等深層次問題并不清楚.也就意味著大部分學生在學習的時候只知道是什么,而不知道為什么.

3.1.3 注重面向過程,忽視整體設計和工程需求

由于傳統教學法采用強化學習理論,不注重模塊化思想,因此在講解時將注重JDBC的實現,而忽略JDBC在整個項目中扮演的角色;注重JDBC的實現過程,而忽略項目的整體設計以及架構.這對于培養學生解決復雜工程問題是相當不利的,學生將很難從單一問題解決能力轉變為復雜問題解決的能力.

3.1.4 知識構建零散,與后續課程知識分離

在高校的課程設置中,同一系列的課程之間是存在一定聯系的.但是在實際教學中,由于師資的不確定性,教學團隊之間溝通的不及時性可能造成前后續課程不連貫,知識零散等問題.

JDBC的后續課程包含Java EE、輕量級企業框架開發等,這些課程中涉及到的Hibernate以及MyBatis等框架的設計思想如果能在JDBC課程中有所體現,那對于學生后續課程的學習將有很大的幫助.

3.2 問題解決教學法

基于問題解決的教學法是根據學習內容設計問題,通過解決問題來獲得相應的問題圖示及相關的概念性理解[4].使用問題解決教學法來講授JDBC內容需要注意圍繞教學內容和教學目標的需要,要滿足復雜工程問題的特征需要,同時問題的復雜性和難度要從易到難、循序漸進[5],以問題為導向的JDBC教學運行模型如圖2所示.

“十二五”期間,通遼市規劃建設800萬畝旱澇保收、高產節水農田,500萬畝飼草料基地,100萬畝設施農業,100萬畝特色種植業基地,500萬畝退耕還林還草工程,2000萬頭只牲畜養殖業基地,實施百億斤糧食加工轉化工程,1000個嘎查村的新農村、新牧區建設工程,每年轉移農村牧區人口10萬人,壓減3萬眼機電井。

圖2 以問題為導向的JDBC教學運行模型

根據文獻[6]可以將問題分為引導性問題、分析性問題、開放性問題,學生在解決這些問題之后分別能達到理解和掌握、應用于實踐、解決工程問題的能力層級.因此,在JDBC的教學中,可以將JDBC知識劃分到不同層級,并采用不同的問題設計,如表1所示.

表1 JDBC教學問題分層設計

3.3 方案實施

基于問題解決的JDBC教學方案實施可大致分為分工職責的確定、具體問題的設計和方案實施.

3.3.1 分工職責

基于問題解決的教學方法主要是以學生為中心進行教學.教師主要負責設計問題、方向引導、技術指導和知識總結等,學生主要任務是根據教師設計的問題進行問題分析、找到問題的解決思路,并在教師的引導和技術指導下對解決方案進行優化和開發實現.教學方案中的分工職責如圖3所示.

圖3 教學方案中的分工與職責

基于問題解決的JDBC教學方法各環節具體實施內容如下:

①教師設計并給出需要解決的問題,學生分析教師給出的問題并設計解決方案;②教師在學生提出解決方案時提供方向引導,指導學生進行方案優化;③在對最終方案進行實現時,教師應提供相應的技術指導,如數據庫連接池的實現、properties屬性文件的讀取以及DAO等設計模式的實現等;④通過具體實現解決了教師給出的問題后,教師應總結開發中所用到的知識,幫助學生對知識進行固化.

3.3.2 具體問題設計及實施

按照JDBC知識體系及問題分層模型,從教師視角對問題設計、方向引導、技術指導及知識總結四個部分進行探討.

①JDBC概念.問題設計:Java程序員在開發程序的時候肯定希望自己的方法能適用于不同的數據庫,不用重新學習新的數據庫連接方法,那么有什么辦法能夠辦到?

方向引導:在Java中若想實現某一標準或規范,可以考慮使用接口.接口的本質就是一種標準.

技術指導:無(理論學習)

知識總結:JDBC本質上是一組Java的類和接口,用于提供一種訪問數據庫的規范.

②JDBC API.為了達到較為良好的教學效果,建議將強化理論學習轉化為構建主義學習.因此,在講解JDBC API時可以與JDBC開發步驟相結合,不單獨設計問題.

③JDBC開發步驟.問題設計:引用小品臺詞“將大象裝進冰箱總共需要幾步?”,將經典臺詞融入到JDBC開發步驟中.

方向引導:教師在做方向引導時應注意培養學生知識遷移的能力,將SQL語句發送給數據庫比作“將大象裝進冰箱”,進而引導學生學習數據庫操作的三個重要步驟:注冊驅動并創建連接、創建并執行命令和釋放資源三步.

技術指導:將JDBC API中的常用方法融入開發步驟中,詳細講解注冊驅動、創建連接、創建命令、執行命令、處理結果和釋放資源的技術實現.

知識總結:Java反射機制、DriverManager類、Connection 接口、Statement接口、PreparedStatement接口以及ResultSet接口等知識.

④JDBC優化.JDBC的優化實際上是一系列的問題,在此部分可以使用問題迭代進行講解,講授的內容可以包含數據庫連接池、數據庫配置文件、封裝數據庫工具類、DAO、設計模式等.

問題設計:每次進行數據庫操作都需要創建連接并釋放,降低了操作效率,如何解決?將數據庫配置信息寫入代碼中,如果需要修改配置信息,則需重新編譯項目,不利于維護,如何解決?在協同項目開發中,我們如何確保開發人員對數據庫操作防范的一致性?如何增加程序的可維護性、可擴展性?

方向引導:引導學生學習數據庫連接池、數據庫配置文件、封裝數據庫工具類、DAO、設計模式等開發技術.

技術指導:教師根據實際情況進行指導.

知識總結:Java集合、properties屬性類、Java反射機制、函數重載和覆寫、接口、泛型編程以及序列化等知識.

4 問題教學法的優點

基于問題解決的JDBC教學方法是以學生為中心的教學方法,通過構建主義學習模式和研究型教學方法,將JDBC知識有機地整合在一起,增加了教學效果,提升了學生學習效率.除此之外,基于問題解決的JDBC教學方法可提高學生的積極性,促使學生主動學習JDBC的相關知識;當學生設計的問題解決方案被采用并實現時,學生將獲得成就感;在JDBC開發步驟中,通過知識遷移把案例“將大象裝進冰箱”比作實際的JDBC開發,能幫助學生掌握JDBC的開發步驟;采用螺旋式問題設計方式,由淺入深逐步完善JDBC的知識體系;通過與實際工程問題相關聯,減小課程學習與實際工程應用的差距;在JDBC優化部分,通過問題驅動可以將大量的程序設計思維傳授給學生,為后期Java EE企業級開發框架的學習奠定基礎.

5 總結

基于問題解決的JDBC教學方法將認知主義、行為主義、構建主義學習理論有機地結合在一起,有利于提高學生解決問題和后續自主研發的能力.通過設計問題、方案設計和優化、技術實現和知識總結固化將JDBC知識融入實際工程應用中,不僅能提高學生的學習效率和學習效果,還能為后續Java EE企業級開發框架的學習、模塊化程序設計思維的培養奠定基礎.

猜你喜歡
數據庫教學方法工程
初中英語寫作教學方法初探
甘肅教育(2020年2期)2020-09-11 08:01:42
教學方法與知識類型的適宜
數據庫
財經(2017年2期)2017-03-10 14:35:35
子午工程
太空探索(2016年6期)2016-07-10 12:09:06
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
工程
工程
工程
主站蜘蛛池模板: 午夜福利网址| 亚洲91在线精品| 欧美精品高清| 风韵丰满熟妇啪啪区老熟熟女| 天堂va亚洲va欧美va国产| 91免费国产在线观看尤物| 亚洲高清资源| 国产男人天堂| 伊人蕉久影院| 91丝袜美腿高跟国产极品老师| 欧美成人午夜视频| 成年A级毛片| 久久精品波多野结衣| 精品日韩亚洲欧美高清a| 麻豆精品在线视频| 久久不卡精品| 97人妻精品专区久久久久| 亚洲男人天堂久久| 精品国产三级在线观看| 亚洲一级毛片免费看| 99在线视频精品| 国产精品久久国产精麻豆99网站| 国产精品青青| 2019年国产精品自拍不卡| 91区国产福利在线观看午夜| 亚洲日韩久久综合中文字幕| 亚洲日产2021三区在线| 亚洲制服丝袜第一页| 日韩精品专区免费无码aⅴ | 欧美一级专区免费大片| 四虎精品黑人视频| 国产精品亚洲专区一区| 亚洲丝袜第一页| 日韩国产 在线| 九九免费观看全部免费视频| 超碰免费91| 4虎影视国产在线观看精品| 最新国产网站| 一级毛片视频免费| 国产91透明丝袜美腿在线| 日韩毛片在线播放| 国产午夜无码片在线观看网站| 亚洲天堂成人| 一本久道久久综合多人| 亚洲福利片无码最新在线播放| 午夜国产大片免费观看| 国产精品久久久久婷婷五月| 沈阳少妇高潮在线| 欧美黑人欧美精品刺激| 97成人在线观看| 亚洲人在线| 欧美亚洲欧美区| 影音先锋丝袜制服| 亚洲精品视频网| 91成人免费观看在线观看| 国产精品极品美女自在线看免费一区二区 | 欧美另类一区| 国产精品亚洲一区二区三区在线观看| 久久大香伊蕉在人线观看热2| 伊人AV天堂| 日韩欧美国产精品| 欧美有码在线观看| 人妻丰满熟妇AV无码区| 1769国产精品免费视频| 亚洲 欧美 中文 AⅤ在线视频| 国产欧美日韩免费| 毛片a级毛片免费观看免下载| 九色在线观看视频| 国内精品久久九九国产精品| 中国一级毛片免费观看| 欧美乱妇高清无乱码免费| 无码国产偷倩在线播放老年人| 国产欧美视频在线| 欧美午夜网站| 最新国产精品第1页| 免费一级大毛片a一观看不卡| 五月婷婷导航| 91精品最新国内在线播放| 人妻少妇乱子伦精品无码专区毛片| 午夜无码一区二区三区| 91视频首页| 精品国产一区二区三区在线观看|