我的jboss是3.2.7一、要在Jboss中使用MySQL的话首先要把MySQL的JDBC驱动放到CLASSPATH中。
二、再把/docs/examples/jca/mysql-ds.xml复制到/server/default/deploy目录下。修改mysql-ds.xml文件,其中是数据库主机名是数据库名。
我的mysql-ds.xml如下<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>MySqlDS</jndi-name>
<connection-url>jdbc:mysql://127.0.0.1:3306/jspdev</connection-url>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<user-name>root</user-name>
<password> </password>
</local-tx-datasource>
</datasources>三、然后需要设置standardjaws.xml (注:\server\default\conf目录下)文件的和元素: <jaws>
<datasource>java:/MySqlDS</datasource> 
<type-mapping>mySql</type-mapping> 
.....
</jaws> 
四、同样也需要把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"]jspdev</module-option>
<module-option name ="userName"]root</module-option> 
<module-option name ="password"] </module-option> 
<module-option name="managedConnectionFactoryName"] jboss.jca:service=LocalTxCM,name=MySqlDS 
</module-option>
</login-module>
</authentication> 
</application-policy>六、测试代码
//DatabaseConn.java/*
* 创建日期 2005-3-30
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package DataConn;/**
* @author sun
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
//一个用于查找数据源的工具类。
public class DatabaseConn {
public static synchronized Connection getConnection() throws Exception
{
try
{
Context ctx = new InitialContext(); //得到初始化上下文
Object obj = ctx.lookup("java:/MySqlDS");//查找连接池
DataSource ds = (DataSource) obj;//转换成DataSource
return ds.getConnection();
}
catch(SQLException e)
{
throw e;
}
catch(NamingException e)
{
throw e;
}}}-------------------------------
//showdata.jsp<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.sql.*"%> 
<%@ page import="DataConn.*"%>
<% 
Connection conn = DatabaseConn.getConnection();
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from employee");
while(rs.next())
{
out.println(rs.getInt("id"));
out.println(rs.getString("name"));
out.println(rs.getString("salary"));
out.println(rs.getString("department"));
out.println(rs.getInt("age")+"<br>");
}
conn.close();
stmt.close();
rs.close();%> 

解决方案 »

  1.   

    一、配置MySQL数据库
    2、在mysql中创建一个数据库,名字为:test;再在此库中创建一个表,表名为tree。使用脚本如下:
    3、然后再此表中插入两条数据
    use test;
    insert into tree values('1','测试数据1');
    insert into tree values('2','测试数据2');
    4、下载并安装mySQL的JDBC驱动程序,去www.mysql.org下载吧。下载后的文件名为:mysql-connector-jdbc-3.0.10-stable.zip,用winzip解开,找到其中mysql-connector-jdbc-3.0.10-stable目录中的mysql-connector-java-3.0.10-stable-bin.jar文件,把它拷贝到JBOSS安装目录下的Server下的lib目录中,即copy到C:\JBOSS\server\all\lib目录中(注意,我们这里采用的是JBOSS的具有全部功能的启动方式,JBOSS默认有三个启动方式,用run -c <方式>来启动,这三种方式是:all,具有全部JBOSS服务器
    功能;dfault,这是默认的方式;minimal,这是最小配置方式。这三种方式分别对就于安装目录下的Server目录听all ,default和minimal目录)。同时我们要注意:在JBOSS的安装目录下C:\JBOSS\下还有一个lib目录即C:\JBOSS\lib目录,这个目录中存放的是JBOSS服务器启动时所需的所有jar包,你不能将你的任何外部jar包放入此目录。如果你想启动default,则需将jdbc驱动程序放入
    C:\JBOSS\server\default\lib目录中。
    5、配置JBOSS的数据库配置文件:在C:\JBOSS\server\all\deploy目录中新建一个mysql-ds.xml文件,注意,文件名一定要以-(中划线)ds结尾,此xml文件的内容如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <datasources>
       <local-tx-datasource>
         <jndi-name>MySql</jndi-name>
         <connection-url>jdbc:mysql://10.0.0.18:3306/test</connection-url>
         <driver-class>org.gjt.mm.mysql.Driver</driver-class>
         <user-name>root</user-name>
         <password></password>
              <min-pool-size>50</min-pool-size>   
              <max-pool-size>200</max-pool-size>  
       </local-tx-datasource>
    </datasources>
    解说一下上面的内容:
    <jndi-name>表示的是jndi名称,就是呆会在程序中查找jndi名称要用的(还记得上节中我们用的查找ejb的jndi吧,就是那个,
    只不过这个是查找数据库连接池的);<connection-url>是连接字符串,前面是固定的后面紧跟的是你的数据库所在的IP地址及
    mysql默认端口,然后跟的是数据库名如test;<driver-class>是固定的数据库驱动类库;
    <user-name>是用于连接数据库的用户名,我这里用的是root,你可以用其它的
    <password>是上面用户的密码,我的root用户是空密码。
    一定要注意这个文件的名称和存放的位置是:C:\JBOSS\server\all\deploy\mysql-ds.xml
    6、编写测试用的jsp文件。
    在上一节的C:\JBOSS\myproject\jsp\hello.war目录中,新建一个testmysql.jsp文件,内容如下:
    <%@page contentType="text/html; charset=gb2312"%>
    <html>
    <head>
    <title>测试MySql数据库</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <%@page import = "javax.sql.DataSource"%>
    <%@page import = "javax.naming.InitialContext"%>
    <%@page import="java.sql.*"%>
    <body>
    <h3>测试MySql数据库</h3>
    <%
    InitialContext ctx = new InitialContext(); 
    DataSource ds = (DataSource)ctx.lookup("java:/MySql");//这里要和mysql-ds.xml中对应
    Connection conn = ds.getConnection();
    Statement stmt = conn.createStatement(); 
    ResultSet rs = stmt.executeQuery("SELECT * FROM tree");
    while ( rs.next() ){
    out.println(rs.getString("nodetext") + "<br>");
    }
    conn.close();
    %>
    </body>
    </html>
    然后,把此文件所在的目录hello.war拷贝到C:\JBOSS\Server\all\deploy\目录中,如果你在上一节中己经考贝了此目录到此,则只需把testmysql.jsp文件拷贝过来即可以了。
    7、测试JSP连接数据库
    重新启动JBOSS服务器,run -c all,如果你的服务器在你拷贝JDBC驱动程序到server\all\lib目录中之前己经运行,你一定要重启服
    务器才行。然后在IE或其它浏览器中输入:http://localhost:8080/hello/testmysql.jsp
      

  2.   

    http://hi.baidu.com/mianju/blog/item/e7183bf394c68e52352acc38.html
    这里有JBOSS连接MYSQL和SQLSERVER的详细过程,建议LZ去看看或许对你有帮助,它们都是我做过的所以肯定是好使的代码.