(转)jboss5.1 mysql jndi的配置

西瓜皮儿的皮儿 2011-03-12

1.将mysql的JDBC驱动放到的JBOSS_HOME\server\default\lib 下

2.把JBOSS_HOME\docs\examples\jca\mysql-ds.xml 复制到JBOSS_HOME\server\default\deploy目录下。修改mysql- ds.xml文件例:

<datasources>

<local-tx-datasource>

<jndi-name>MySqlDS</jndi-name>

<connection-url>

jdbc:mysql://localhost :3306/databaseName ?characterEncoding=UTF-8

</connection-url>

<driver-class>com.mysql.jdbc.Driver</driver-class>

<user-name>root</user-name>

<password>root</password>

</local-tx-datasource>

</datasources>

此步骤需要注意的地方是jca目录下存在mssql-ds.xml这个文件,注意区分它与mysql-ds.xml

3.修改JBOSS_HOME\server\default\conf\standardjbosscmp-jdbc.xml 

<jbosscmp-jdbc>

<defaults>

<datasource>java:/MySqlDS</datasource>

<datasource-mapping>mySql</datasource-mapping>

</defaults></jbosscmp-jdbc>

说明:<datasource-mapping>mySql</datasource-mapping>的JBoss 5.0.1GA中是被注释掉了,需要将注释标记去掉

4.最后再修改JBOSS_HOME\server\default\conf\login-config.xml:

将下面代码添加到<policy>中

<application-policyname="MySqlDbRealm">

<authentication>

<login-modulecode="org.jboss.resource.security.ConfiguredIdentityLoginModule"flag="required">

<module-optionname="principal">databaseName</module-option>

<module-optionname="userName">root</module-option>

<module-optionname="password">root</module-option>

<module-optionname="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=MySqlDS

</module-option>

</login-module>

</authentication>

</application-policy>

5、测试代码

  1. import java.sql.*;  
  2. import javax.naming.*;  
  3. import javax.sql.DataSource;  
  4. //一个用于查找数据源的工具类。  
  5. public class DatabaseConn {  
  6. public static synchronized Connection getConnection() throws  
  7.  
  8. Exception  
  9. {  
  10. try  
  11. {  
  12. Context ctx = new InitialContext(); //得到初始化上  
  13.  
  14. 下文  
  15. Object obj = ctx.lookup("java:/MySqlDS");//查找连接池  
  16. DataSource ds = (DataSource) obj;//转换成DataSource  
  17. return ds.getConnection();  
  18. }  
  19. catch(SQLException e)  
  20. {  
  21. throw e;  
  22. }  
  23. catch(NamingException e)  
  24. {  
  25. throw e;  
  26. }  
  27.  
  28. }  
  29.  
  30. }  
  31. //showdata.jsp  
  32.  
  33. <%@ page contentType="text/html; charset=gb2312" %> 
  34. <%@ page import="java.sql.*"%> 
  35. <%@ page import="DataConn.*"%> 
  36. <%  
  37. Connection conn = DatabaseConn.getConnection();  
  38. Statement stmt=conn.createStatement();  
  39. ResultSet rs=stmt.executeQuery("select * from employee");  
  40. while(rs.next())  
  41. {  
  42. out.println(rs.getInt("id"));  
  43. out.println(rs.getString("name"));  
  44. out.println(rs.getString("salary"));  
  45. out.println(rs.getString("department"));  
  46. out.println(rs.getInt("age")+"<br>");  
  47. }  
  48. conn.close();  
  49. stmt.close();  
  50. rs.close();  
  51.  
  52. %>

相关推荐