淺談如何在JSP連接MySQL數(shù)據(jù)庫(kù)
首先在Eclipse上編寫(xiě)的JSP連接MySQL數(shù)據(jù)庫(kù)的程序總是報(bào)錯(cuò).我都已經(jīng)down了Oracal準(zhǔn)備放棄MySQL了,不過(guò)...就象電視劇演的那樣,轉(zhuǎn)機(jī)總是在這個(gè)時(shí)候出現(xiàn),先是看到了saulzy關(guān)于MySQL4.1.11版本的安裝介紹,接著又找到了一款不錯(cuò)的MySQL 界面插件,最后在網(wǎng)友的幫助下把MySQL的JDBC驅(qū)動(dòng)配好并連通了.一連5天,日子真不好過(guò)阿,不過(guò)這個(gè)過(guò)程中,我也覺(jué)得自己學(xué)到不少東西,呵呵,反正都撐過(guò)來(lái)了,就要繼續(xù)往前走.現(xiàn)在,就這幾天弄的總結(jié)一下,希望對(duì)同是正在學(xué)習(xí)Java技術(shù)的同道中人能有幫助.
一. JSP連接MySQL軟件下載
MySQL
下載版本:4.1.11
http://dev.MySQL.com/downloads/MySQL/4.1.html
JDBC驅(qū)動(dòng)
下載版本:3.1.8
http://dev.MySQL.com/downloads/connector/j/3.1.html
MySQL界面插件:MySQL-front
下載版本鏡像:HongKong(我下回來(lái)安裝就是中文版了)
http://www.MySQLfront.de/download.html
二.JSP連接MySQL軟件安裝
1.安裝MySQL
請(qǐng)參閱相關(guān)文章,推薦文章:
http://blog.csdn.net/saulzy/archive/2005/04/23/359648.aspx
2.JDBC驅(qū)動(dòng):MySQL-connector-Java-3.1.8
這只是一個(gè)壓縮包,并不需要安裝,只要將其解壓,我么使用的是文件夾MySQL-connector-Java-3.1.8里的文件:MySQL-connector-Java-3.1.8-bin.jar.
3. MySQL界面插件:MySQL-front
這是一個(gè)安裝程序,按照提示安裝就可以了.
三.JSP連接MySQL環(huán)境配置
首先,我要說(shuō)明的是我現(xiàn)在tomcat的安裝路徑是: D:\Program Files\Java\Tomcat;JDK的安裝路徑是:D:\Program Files\Java\j2sdk。
在這里,需要配置環(huán)境變量的是JDBC驅(qū)動(dòng).在配置前先要把剛才說(shuō)到的MySQL-connector-Java-3.1.8-bin.jar本地硬盤(pán)某處(我放的地方:D:\Program Files\Java\MySQLforjdbc),然后根據(jù)你放的地方,配置classpath,我的配置是這樣的:
- D:\Program files\Java\j2sdk\lib\tools.jar;
- D:\Program Files\Java\j2sdk\lib\MySQL-connector-Java-3.1.8-bin-g.jar;
- D:\Program Files\Java\MySQLforjdbc\MySQL-connector-Java-3.1.8-bin.jar
配置這個(gè)的目的是讓你的Java應(yīng)用程序找到連接MySQL的驅(qū)動(dòng).
配置完環(huán)境變量后還有很重要一步就是為JSP連接數(shù)據(jù)庫(kù)配置驅(qū)動(dòng),這個(gè)其實(shí)很簡(jiǎn)單,就是把MySQL-connector-Java-3.1.8-bin.jar拷到某些文件夾里就行了,我在網(wǎng)上看了很多資料問(wèn)了很多人,各種說(shuō)法都有,我綜合了一下,為了保險(xiǎn),我都全做了,呵呵,反正就是拷一個(gè)400K的文件而已,現(xiàn)列出要把MySQL-connector-Java-3.1.8-bin.jar拷進(jìn)去的文件夾,如下:
D:\Program Files\Java\Tomcat\common\lib
D:\Program Files\Java\Tomcat\shared\lib
四.?dāng)?shù)據(jù)庫(kù)的使用
MySQL安裝完畢以后,還有一些要注意的地方(推薦文章):
http://blog.csdn.net/saulzy/archive/2005/04/23/359811.aspx
就象在文章提到的,MySQL安裝好后最重要一樣就是要看數(shù)據(jù)庫(kù)有沒(méi)有作為系統(tǒng)服務(wù)啟動(dòng)了,所以在大家進(jìn)行數(shù)據(jù)庫(kù)操作前,應(yīng)要看看,在操作系統(tǒng)的開(kāi)始->運(yùn)行->輸入services.msc,確定你在安裝時(shí)你設(shè)置的關(guān)于MySQL的那個(gè)服務(wù)已經(jīng)啟動(dòng),這樣你在操作數(shù)據(jù)庫(kù)時(shí)不會(huì)報(bào)連接不上的錯(cuò)誤.
上面提到了一個(gè)較方便的MySQL界面插件,但是這個(gè)界面是我在已經(jīng)開(kāi)始使用MySQL后才找到的,剛開(kāi)始我是在dos下用命令行進(jìn)行操作的.雖然那個(gè)界面也可以進(jìn)行建庫(kù)啊,設(shè)定權(quán)限等操作,但是,我覺(jué)得懂得在使用命令行也是一個(gè)很重要的技能,所以我先從命令行開(kāi)始說(shuō),怎樣簡(jiǎn)單使用MySQL.到后面會(huì)談及MySQL-front的使用.
現(xiàn)在我想在MySQL里建一個(gè)數(shù)據(jù)庫(kù)shujuku,以及在數(shù)據(jù)庫(kù)里建一個(gè)表biao.具體的命令如下(假設(shè)MySQL我是剛安裝好的)
1. 進(jìn)入dos狀態(tài)(記住命令行的要運(yùn)行在MySQL的安裝目錄下的bin目錄的)
2. 連接MySQL
輸入:MySQL –h localhost –u root –p
輸入在安裝時(shí)已設(shè)好的密碼,就近入了MySQL的命令編輯界面了。
3. 使用MySQL的基本命令(在MySQL命令行編輯每輸入完命令后最后一定要有分號(hào),不然會(huì)報(bào)錯(cuò))
顯示數(shù)據(jù)庫(kù):show databases;
使用數(shù)據(jù)庫(kù):use 數(shù)據(jù)庫(kù)名;
4.建庫(kù)
命令:create database shujuku;
5.為數(shù)據(jù)庫(kù)設(shè)置權(quán)限(用戶(hù)和密碼)
命令:grant all privileges on shujuku.* to
- [url=mailto:test@localhost]test@localhost[/url]
- identified by “123456”;
當(dāng)你執(zhí)行完這個(gè)命令以后,只要你再以用戶(hù)名:test,密碼:123456登錄時(shí)你就只可以對(duì)shujuku這個(gè)數(shù)據(jù)庫(kù)操作,這樣避開(kāi)使用root,對(duì)數(shù)據(jù)庫(kù)的安全有很大幫助.
6.建表
命令:create table biao(id int(8) primary key,name varchar(10));
剩下來(lái)的與標(biāo)準(zhǔn)sqsl命令基本上是一樣的,具體操作略
值得一提的是,你在命令行上輸入"?",就會(huì)有MySQL命令的簡(jiǎn)單幫助,如下:
呵呵,那樣,我們還可以知道退出,就是"exit",呵呵!
五. 關(guān)于MySQL-front的使用
我找了好幾個(gè)MySQL的界面工具,覺(jué)得最簡(jiǎn)潔方便還是MySQL-front,可惜的是要收費(fèi),不過(guò)還好有試用期,呵呵,可以先感受感受一下,最重要一點(diǎn)是MySQL-front有簡(jiǎn)體中文版的,英文不好的我用起來(lái)就舒服多了.下面簡(jiǎn)單說(shuō)說(shuō)使用吧.
首先,安裝就不用說(shuō)了,有向?qū)В液芎?jiǎn)單.安裝好后第一次運(yùn)行時(shí)會(huì)跳出來(lái)一個(gè)要求添加對(duì)話(huà)的框,在這里你可以添加例如上面已經(jīng)設(shè)定好的shujuku,過(guò)程如下:
當(dāng)你在注冊(cè)的復(fù)選框里填上你在上面MySQL設(shè)定好的用戶(hù)名和密碼后,在選擇數(shù)據(jù)庫(kù)框里就有shujuku 的數(shù)據(jù)庫(kù)了,選上,按確定.進(jìn)入MySQL-fron后,你就會(huì)看到下面的界面,這是你就可以進(jìn)行操作了.
要說(shuō)明的是,你還可以把root用戶(hù)也加進(jìn)去,這要你在MySQL-fron的界面上選設(shè)置->對(duì)話(huà)->新建,再按上面進(jìn)行就可以,出了root你還可以加入更多的用戶(hù),方法還是一樣的,設(shè)置不同的用戶(hù),是方便對(duì)不同數(shù)據(jù)庫(kù)進(jìn)行管理,呵呵,root是權(quán)限最高的,可不要隨便讓別人使用你的root用戶(hù),保正你數(shù)據(jù)庫(kù)的安全.
六. JSP連接MySQL
現(xiàn)在就是嘗試用jsp連接MySQL了
我在eclipse里建了個(gè)test_MySQL.jsp頁(yè)面,代碼如下:
- //驅(qū)動(dòng)程序名
- String driverName="com.MySQL.jdbc.Driver";
- //數(shù)據(jù)庫(kù)用戶(hù)名
- String userName="cl41";
- //密碼 www.knowsky.com
- String userPasswd="123456";
- //數(shù)據(jù)庫(kù)名
- String dbName="db";
- //表名
- String tableName="dbtest";
- //聯(lián)結(jié)字符串
- String url="jdbc:MySQL://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
- Class.forName("com.MySQL.jdbc.Driver").newInstance();
- Connection connection=DriverManager.getConnection(url);
- Statement statement = connection.createStatement();
- String sql="SELECT * FROM "+tableName;
- ResultSet rs = statement.executeQuery(sql);
- //獲得數(shù)據(jù)結(jié)果集合
- ResultSetMetaData rmeta = rs.getMetaData();
- //確定數(shù)據(jù)集的列數(shù),亦字段數(shù)
- int numColumns=rmeta.getColumnCount();
- // 輸出每一個(gè)數(shù)據(jù)值
- out.print("id");
- out.print("|");
- out.print("num");
- out.print("
- ");
- while(rs.next()) {
- out.print(rs.getString(1)+" ");
- out.print("|");
- out.print(rs.getString(2));
- out.print("
- ");
- }
- out.print("
- ");
- out.print("數(shù)據(jù)庫(kù)操作成功,恭喜你");
- rs.close();
- statement.close();
- connection.close();
- %>
然后把test_MySQL.jsp部署到tomcat處,如何部署可參考"配置Eclpise+tomcat并實(shí)現(xiàn)JSP的編寫(xiě)與部署",在瀏覽器中就可以看到結(jié)果了。
【編輯推薦】