Sorry,我剛找到的:設置J2EE支持Mysql (轉)
發(fā)表時間:2024-02-23 來源:明輝站整理相關軟件相關文章人氣:
[摘要]這一段時間在學習J2EE&EJB,我最感興趣的還是做JDBC的EJB,但是由于我手頭上沒有J2EE默認的Cloudscape,也不敢裝Oracle,我的機器太次,跑J2EE已是滿負荷運轉,絕不能再加大家伙!因此我想繼續(xù)使用小巧玲瓏的Mysql。 首先當然是系統(tǒng)環(huán)境軟件的安裝,我就不多說了,在下面我...
這一段時間在學習J2EE&EJB,我最感興趣的還是做JDBC的EJB,但是由于我手頭上沒有J2EE默認的Cloudscape,也不敢裝Oracle,我的機器太次,跑J2EE已是滿負荷運轉,絕不能再加大家伙!因此我想繼續(xù)使用小巧玲瓏的Mysql。
首先當然是系統(tǒng)環(huán)境軟件的安裝,我就不多說了,在下面我給出了幾種軟件的下載地址。需要特別強調(diào)的是,請一定要注意你安裝的Mysql的版本,我們平常用的大都是“mysql-shareware-3.22.30-win”這個版本,但J2EE需要3.23.15以上的Mysql,這個是我花費大半天時間得到的教訓。
經(jīng)我的多次實驗,J2EE的配置文件default properties中應按如下設置:
jdbc.drivers=org.gjt.mm.mysql.Driver
jdbc.datasources=jdbc/TestDb jdbc:mysql://localhost:3306/test?user=jian&password=jian
以上語句很簡單,用過Mysql的jdbc driver的人一看就明,所要注意的是其中的“jdbc/TestDb”實際上就是JNDI用來標識該數(shù)據(jù)庫的名字。
在EJB中調(diào)用就很簡單了:
DataSource ds = (DataSource) ic.lookup("jdbc/TestDb");
其實配置正確后回過頭來再看,覺得真是很簡單,但正是正確之前的一段摸索歷程耗費了我很多的精力,所謂黎明前的黑暗吧。
從我使用的情況來看,這個版本的J2EE的錯誤提示機制特差,看上去不知所云,而且并不穩(wěn)定,比如用它的裝配工具生成的JAR包,雖然可用,但每次總被系統(tǒng)彈出窗口警告說是“無效的Windows NT映像”,弄得煩不勝煩,還有,明明按我上述配置已經(jīng)能順利運行連接Mysql的EJB,但error.log和dos窗口總是會記載說“Cannot find principal mapping information for data source with JNDI name jdbc/TestDb”。不過雖然有警告和錯誤日志記載,但只要你程序能夠順利地運行,盡可不去理會那么多,畢竟,J2EE還只是一個新生事物,沒有經(jīng)過長時間廣范圍的評測和使用。
由于本人水平有限,謬誤之處煩勞予以糾正。
運行環(huán)境
Platform: Winnt 4.0
J2EE: JavaTM 2 SDK, Enterprise Edition Version 1.2.1
JDK: j2sdk1.3.0
Mysql: mysql-3.23.23-beta-win
Driver: mm.mysql-2.0.2