JBOSS配置数据源,以mysql为例

本文介绍了如何在JBoss应用服务器中配置MySQL数据源,并提供了两种测试数据源连接的方法:一是通过创建一个JSP页面执行SQL查询,二是利用EJB和@Resource注解的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.配置:Jboss的数据源配置非常简单,只要复制一下数据源的配置模板手动修改一下就ok了。你可以到Jboss的安装目录找到%JBOSS_HOME%/docs/examples/jca文件夹下找到mysql -ds.xml文件将它复制到%JBOSS_HOME%/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>

只要编辑加粗的3个地方就可以了(即:连接地址URL,用户名,密码)。

到这里数据源就配置完成了。

2测试方法之一:建立一测试页面:test.jsp
<%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="GBK"%>

<%@ page import="java.sql.*, javax.sql.DataSource, javax.naming.InitialContext" %>

<h3>测试JBOSS连接mysql数据库</h3>

<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 user");

while ( rs.next() ) {

out.println( rs.getString(1) + "<br>");

out.println( "My name is Justinchen<br>");

}

conn.close();

%>

3.测试方法之二:

使用@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();

              }

       }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值