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