一、 要在Jboss4中使用MySQL的話首先要把MySQL的JDBC驅動放到CLASSPATH中。
同樣,把它複製到/server/default/lib目錄下,
(需要mysql-connector-java-3.0.16-ga.zip包 將裡面的jar檔案取出)
二、 再把/docs/examples/jca/mysql-ds.xml複製到/server/default/deploy目錄下。修改mysql-ds.xml檔案,設定為 com.mysql.jdbc.Driver再把設定為jdbc:mysql:///,其中是資料庫主機名稱是資料庫名。
例:<datasources>
<local-tx-datasource>
<jndi-name>MySqlDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/wwx</connection-url>//wwx
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>root</password>
</local-tx-datasource>
</datasources>
三 、然後需要設定standardjaws.xml (或 jaws.xml 註: /server/default/conf目錄下)檔案的和元素:
<jaws>
<datasource>java:/MySqlDS</datasource>
<type-mapping>mySql</type-mapping>
。。。。。。。
</jaws>
四、 同樣也需要把standardjbosscmp-jdbc.xml (或 jbosscmp-jdbc.xml檔案 注: /server/default/conf目錄下)的 和 元素設定為下面這樣:
<jbosscmp-jdbc>
<defaults>
<datasource>java:/MySqlDS</datasource>
<datasource-mapping>mySql</datasource-mapping>
</defaults> </jbosscmp-jdbc>
五、 最後再修改login-config.xml(/server/default/conf目錄下)檔案來使用MySQL:
<application-policy name = "MySqlDbRealm">
<authentication>
<login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required">
<module-option name ="principal">wwx</module-option>
<module-option name ="userName">root</module-option>
<module-option name ="password">root</module-option>
<module-option name="managedConnectionFactoryName"> jboss.jca:service=LocalTxCM,name=MySqlDS
</module-option>
</login-module>
</authentication>
</application-policy>
六、 修改了mysql-ds.xml, standardjaws.xml, standardjbosscmp-jdbc.xml,和 login-config.xml 檔案就可以在Jboss上使用MySQL了。
七、 調試代碼
在servlet的init() 中調用 調試成功
Context ctx = new InitialContext(); //得到初始化上下文
Object obj = ctx.lookup("java:/MySqlDS");//尋找串連池
DataSource ds = (DataSource) obj;//轉換成DataSource
Connection connect = ds.getConnection();//從串連池中得到一個串連
//System.out.println("Success connect Mysql Connection
// Pool!");
Statement stmt = connect.createStatement();
ResultSet rs = stmt.executeQuery("select * from UserInfor");
While (rs.next()) {
temp = rs.getString("name");
}
} catch (Exception e) {
//System.out.print("get data error!");
e.printStackTrace();
}