jboss下配置MySQL的数据源

来源:互联网 发布:苏州java培训 编辑:程序博客网 时间:2024/05/18 22:54

 

1.     配置:Jboss的数据源配置。
你可以到Jboss的安装目录找到JBoss/docs/examples/jca文件夹下找到mysql -ds.xml文件将它复制到JBoss/server/default/deploy目录下打开该文件。
 
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
    <jndi-name>MySqlDS</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/test</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>root</user-name>
    <password>root</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
    <metadata>
       <type-mapping>mySQL</type-mapping>
    </metadata>
</local-tx-datasource>
</datasources>
 
只要编辑加粗的4个地方就可以了(即:连接地址URL,用户名,密码)。
到这里数据源就配置完成了 ,接着重启Jboss,如果你看见有如下面的语句
[ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA'
 [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=MySqlDS' to JNDI name 'java:MySqlDS'
这就说明你的数据源配置成功啦!
 
 
21、测试数据源
 1>、首先建立一个动态的web项目 再建立一个jsp文件
 2>、编辑jsp文件
 
 
   <%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="javax.naming.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h3>Test mysql Database</h3>
 
<%
 
InitialContext ctx = new InitialContext();
 
DataSource ds = (DataSource) ctx.lookup("java:MySqlDS");
//这个地方的引号里面不能有空格!
 
Connection conn = ds.getConnection();
 
Statement stmt = conn.createStatement();
 
ResultSet rs = stmt.executeQuery("select * from userinfo");
 
while ( rs.next() ) {
 
out.println( rs.getString(2) + "<br>");
 
 
}
 
conn.close();
 
%>
</body>
</html>
 
 
3>、将该动态web项目打成war包放在…jboss/server/default/deploy下面
下面就是运行动态web项目中jsp文件;
在运行jsp文件时 你可能会有下面一系列的错误:
 
Failed to register driver for: com.mysql.jdbc.Driver;
这说明JBoss没有找到MySQL的jdbc驱动包,接着你就要将驱动包放…jboss/server/default/lib目录下面 这样问题就解决啦!!
 
2.2、数据源的测试二
 
使用@Resource 注释来注入来自数据源的JNDI名。
 
 
 
import java.sql.Connection;
 
import java.sql.ResultSet;
 
import java.sql.SQLException;
 
import java.sql.Statement;
 
import javax.annotation.Resource;
 
import javax.ejb.Remote;
 
import javax.ejb.Stateless;
 
import javax.sql.DataSource;
 
import com.DB;
 
 
 
@Stateless
 
@Remote(DB.class)
 
public class DBBean implements DB {
 
       @Resource(mappedName = "java:/MySqlDS") // @Resource 注释来注入来自JNDI 的任何资源。
 
       DataSource myDb;
 
 
 
       public void pingDb() {
 
              String str = "";
 
              try {
 
                     Connection conn = myDb.getConnection();
 
                     Statement stmt = conn.createStatement();
 
                     ResultSet rs = stmt.executeQuery("SELECT * FROM tb_user");
 
                     while(rs.next()) {
 
                            str = rs.getString(2);
 
                            System.out.println(str);
 
                     }
 
                     rs.close();
 
                     stmt.close();
 
              } catch (SQLException e) {
 
                     e.printStackTrace();
 
              }
 
       }
 
}
 
 
  
 
原创粉丝点击