毛錦庚 甘衛(wèi)民 農(nóng)振航

摘要:應(yīng)用型本科在Java實(shí)用教程中引入項(xiàng)目驅(qū)動(dòng)法,旨在“以學(xué)生為中心,以教師為輔”,使學(xué)生鞏固Java理論知識(shí)和提高其項(xiàng)目開(kāi)發(fā)的綜合能力,通過(guò)實(shí)驗(yàn)教學(xué),效果理想。
關(guān)鍵詞:應(yīng)用型;教學(xué)研究;項(xiàng)目驅(qū)動(dòng)
中圖分類號(hào):G642? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)06-0138-02
Abstract: The project-driven method is introduced into the practical teaching of Java for the purpose of "student-centered, teacher-assisted" , which enables students to consolidate the theoretical knowledge of Java, improve their comprehensive ability of project development, and achieve ideal results through experimental teaching.
Key words: application-oriented; teaching research; project-driven
Java是sun公司在 20世紀(jì)90年代初期開(kāi)發(fā)的,開(kāi)始應(yīng)用于家用電器的編程。由于近幾年的不斷發(fā)展壯大,Java程序設(shè)計(jì)課程已成為本系電子商務(wù)專業(yè)的必修課程。然而,在實(shí)踐的教學(xué)中,老師們經(jīng)常碰到很多問(wèn)題:Java 知識(shí)點(diǎn)太多、涉及面太廣,學(xué)生在學(xué)習(xí)了這門實(shí)踐性很強(qiáng)的語(yǔ)言中,每次實(shí)驗(yàn)的章節(jié)針對(duì)性強(qiáng),很難把課程的整體連接到一起;并且在學(xué)完后由于沒(méi)有進(jìn)行過(guò)課程設(shè)計(jì)等,所學(xué)知識(shí)很快就忘記了。針對(duì)這種教與學(xué)的問(wèn)題,本文提出以學(xué)生設(shè)計(jì)為中心的基于項(xiàng)目驅(qū)動(dòng)的教學(xué)方法,在實(shí)踐教學(xué)中,發(fā)現(xiàn)可以更好地解決問(wèn)題,從而有效促進(jìn)教學(xué)效果。
1 項(xiàng)目的提出 Java 1.8通過(guò)Netbeans連接SQL Server 2012
JDBC是Java數(shù)據(jù)庫(kù)連接的縮寫,它是一種可用于運(yùn)行結(jié)構(gòu)化查詢語(yǔ)句的Java api,其中包含對(duì)數(shù)據(jù)庫(kù)的跨平臺(tái)訪問(wèn)方法,為數(shù)據(jù)庫(kù)開(kāi)發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序編程接口,屏蔽了不同數(shù)據(jù)庫(kù)之間的差異。
JDBC驅(qū)動(dòng)器管理:對(duì)應(yīng)java.sql.DriverManager類,它負(fù)責(zé)注冊(cè)特定JDBC驅(qū)動(dòng)器,以及根據(jù)驅(qū)動(dòng)器建立和連接數(shù)據(jù)庫(kù)。
JDBC驅(qū)動(dòng)器應(yīng)用接口:其中最主要的是java.sql.Driver接口。
JDBC驅(qū)動(dòng)器:由數(shù)據(jù)庫(kù)供應(yīng)商和其他第三方提供,也稱為JDBC程序驅(qū)動(dòng)。它們實(shí)現(xiàn)了JDBC驅(qū)動(dòng)器應(yīng)用程序接口(Driver接口),負(fù)責(zé)與指定的數(shù)據(jù)庫(kù)連接。JDBC驅(qū)動(dòng)器能夠注冊(cè)到JDBC驅(qū)動(dòng)管理器中。
在實(shí)驗(yàn)教學(xué)中,如何將Java連接到SQL Server2012一直困擾著學(xué)生,由于 jdk1.8 默認(rèn)會(huì)把jdbc-odbc連接數(shù)據(jù)庫(kù)去除掉,所以推薦使用jdbc連接數(shù)據(jù)庫(kù),因此需要下載驅(qū)動(dòng)程序sqljdbc42.jar,并加載驅(qū)動(dòng)程序。
2 項(xiàng)目的創(chuàng)建和數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序新建與測(cè)試
在Java中,訪問(wèn)數(shù)據(jù)庫(kù)的基本步驟如下:
(1)加載驅(qū)動(dòng)程序。DriverManager類是驅(qū)動(dòng)程序管理器類,負(fù)責(zé)管理程序的驅(qū)動(dòng),它的registerDriver()方法用來(lái)注冊(cè)驅(qū)動(dòng)程序類的實(shí)例。
(2)連接建立。加載驅(qū)動(dòng)程序后,調(diào)用DriverManager類的getConnection()方法得到一個(gè)和數(shù)據(jù)庫(kù)連接,返回一個(gè)Connection的對(duì)象。
(3)操作數(shù)據(jù)庫(kù)。在得到與數(shù)據(jù)庫(kù)連接后,就可以操作數(shù)據(jù)庫(kù)了。調(diào)用Connection對(duì)象的createStatement()、prepareStatement()等方法來(lái)執(zhí)行SQL語(yǔ)句,返回結(jié)果集,并對(duì)結(jié)果集進(jìn)行處理。
(4)連接斷開(kāi)。處理完畢要關(guān)閉結(jié)果集、連接斷開(kāi)。在Netbeans8.0中新建驅(qū)動(dòng)程序 打開(kāi)Netbeans,新建一個(gè)[java項(xiàng)目-MySQL1],點(diǎn)擊服務(wù)->新建驅(qū)動(dòng)程序->添加->找sqljdbc42.jar->確定,完成后就生成一個(gè)Microsoft SQlserver2005的驅(qū)動(dòng)程序。右擊驅(qū)動(dòng)程序中的Microsoft SQlserver2005,選擇連接設(shè)置,服務(wù)器名為localhost,連接端口為1433,數(shù)據(jù)庫(kù)名稱為stu,輸入用戶名SA以及口令,進(jìn)行定制連接,測(cè)試連接成功,就在數(shù)據(jù)庫(kù)上生成了一個(gè)連接jdbc:sqlserver://localhost:1433;databaseName=stu [SA上的sa],可以訪問(wèn)數(shù)據(jù)庫(kù)了。
3 項(xiàng)目的實(shí)現(xiàn)
(1)Driver接口
java.sql.Driver是所有JDBC驅(qū)動(dòng)程序?qū)崿F(xiàn)的接口,以下是多種數(shù)據(jù)庫(kù)實(shí)現(xiàn)該接口的驅(qū)動(dòng)程序類名。
微軟SQL Server系列
com.microsoft.sqlserver.jdbc.SQLServerDriver
從SQL Server 2005直至最新的SQL Server2019都使用這個(gè)JDBC驅(qū)動(dòng)類名。
MySQL數(shù)據(jù)庫(kù)
com.mysql.cj.jdbc.Driver
這是MySQL的JDBC驅(qū)動(dòng)的類名,對(duì)所有MySQL的版本都適用。
Oracle數(shù)據(jù)庫(kù)
oracle.jdbc.driver.OracleDriver
Oracle的JDBC驅(qū)動(dòng)不需要單獨(dú)下載,其位于安裝文件的lib目錄下。
Driver接口中提供了一個(gè)connect()方法,用來(lái)建立到數(shù)據(jù)庫(kù)的連接。
Connection connect(String url, Properties info) throws SQLException本程序中使用的Driver接口為Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");再調(diào)用DriverManager類的getConnection()方法連接數(shù)據(jù)庫(kù)的,并返回一個(gè)Connection對(duì)象。Connection接口負(fù)責(zé)維護(hù)Java應(yīng)用程序和連接數(shù)據(jù)庫(kù)。DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433";DatabaseName=stu","sa",”密碼”)),以下完成數(shù)據(jù)庫(kù)連接并查詢表中的數(shù)據(jù)輸出。
public class Select{
public static void main(String args【】) throws SQLException {
String JdbcDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String connectDbname="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=stu";
String username="sa";
String password="123456";
try {? // 動(dòng)態(tài)導(dǎo)入數(shù)據(jù)庫(kù)的驅(qū)動(dòng)
Class.forName(JdbcDriver);
// 獲取數(shù)據(jù)庫(kù)鏈接
Conn1 = DriverManager.getConnection(connectDBname,username,password);
// 創(chuàng)造SQL語(yǔ)句
String sql = "select xh from xs";
// 執(zhí)行SQL語(yǔ)句
Stmt1 = conn1.createStatement();
rs1=stmt1.executeQuery(sql);
while(rs1.next()){
String name=rs1.getString(1);
System.out.print("? 學(xué)號(hào):"+name);
}} catch (Exception e1) {
Stmt1.close();
Conn1.close();? ? ? ?}}}
4 評(píng)價(jià)總結(jié)
本項(xiàng)目完成后,同學(xué)們能夠顯示數(shù)據(jù)庫(kù)表中的內(nèi)容,讓學(xué)生展示自己的成果,學(xué)生們有所收獲,教師及時(shí)肯定學(xué)生的成績(jī),對(duì)學(xué)生項(xiàng)目中的優(yōu)秀作品進(jìn)行表?yè)P(yáng),增強(qiáng)學(xué)生成就感意識(shí),提升學(xué)習(xí)欲望和提高學(xué)習(xí)熱情,學(xué)習(xí)自信心的大大增強(qiáng)。同時(shí)鼓勵(lì)同學(xué)們驅(qū)動(dòng)MySQL或者Access,以及對(duì)數(shù)據(jù)表專題報(bào)告插入、刪除和其他操作,達(dá)到舉一反三的效果。系統(tǒng)學(xué)習(xí)Java和數(shù)據(jù)庫(kù),從實(shí)踐上升到理論,再用理論指導(dǎo)開(kāi)發(fā)一個(gè)完成的教學(xué)管理系統(tǒng),從而使學(xué)生對(duì)問(wèn)題的認(rèn)識(shí)達(dá)到新的高度。
5 結(jié)論
基于項(xiàng)目驅(qū)動(dòng)的Java課程教學(xué)方法是一種新的教學(xué)模式。該方法的教學(xué)實(shí)踐結(jié)果證明,本教學(xué)方法能夠幫助學(xué)生利用學(xué)到的理論知識(shí)解決實(shí)際問(wèn)題,以項(xiàng)目帶動(dòng)學(xué)習(xí),體現(xiàn)以學(xué)生為中心的教學(xué)模式,學(xué)生獨(dú)立分析問(wèn)題和解決問(wèn)題的能力得以提高,學(xué)生團(tuán)隊(duì)合作意識(shí)得到了培養(yǎng),讓Java開(kāi)發(fā)程序更具趣味性,讓學(xué)生愛(ài)上Java程序開(kāi)發(fā)。
參考文獻(xiàn):
[1] 苘大鵬,王巍,玄世昌,等.基于項(xiàng)目驅(qū)動(dòng)的Java課程教學(xué)方法研究[J].工業(yè)和信息化教育,2016(1):55-57.
[2] 王志強(qiáng).基于項(xiàng)目驅(qū)動(dòng)的Java語(yǔ)言教學(xué)方法研究與實(shí)踐[J].電腦知識(shí)與技術(shù),2010,6(22):6388-6389.
【通聯(lián)編輯:代影】