EJB3.0实现跨数据库进行存取

环境:MySQL5.1/JBoss5.1

1.加入跨数据库的数据源,由于JBoss没有提供mysql的配置文件,所以要手工加入:

mysql-xa-ds.xml:(注意:不是mysql-ds.xml)

MySqlXADS1

com.mysql.jdbc.jdbc2.optional.MysqlXADataSource

jdbc:mysql://localhost/ejb?useUnicode=true&characterEncoding=UTF-8

root

root

root

root

5

20

5000

15

org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter

mySQL

MySqlXADS2

com.mysql.jdbc.jdbc2.optional.MysqlXADataSource

jdbc:mysql://localhost/ejb2?useUnicode=true&characterEncoding=UTF-8

root

root

root

root

5

20

5000

15

org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter

mySQL

2.加入数据库驱动jar到JBOSS_HOME/server/default/lib下

mysql-connector-java-5.0.2.jar

注意:不要加入过低的版本,如mysql-connector-java-2.0.14.jar,否则JBoss找不到相关类也不能进行加载

3.persistence.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/persistence

http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">

java:/MySqlXADS1

com.pojo.User

true

java:/MySqlXADS2

com.pojo.Person

true

4.Bean的实现类:

@Stateless

@Remote(UserManager.class)

public class UserManagerImpl implements UserManager {

@PersistenceContext(unitName="JTA_DatabasesPU")

private EntityManager em;

@PersistenceContext(unitName="JTA_DatabasesPU2")

private EntityManager em2;

public void addDatas() {

User user = new User();

user.setId(1);

user.setName("Chuyang");

em.persist(user);

Person person = new Person();

person.setId(1);

person.setName("WuMeng");

em2.persist(person);

//测试跨数据库回滚

//throw new RuntimeException("测试跨数据库回滚 异常");

}

}

5.然后在建立一个测试类进行测试就可以了。

注:代码省略了实体bean,接口等部分

java jta mysql_JTA实现跨数据库操作相关推荐

  1. oracle跨数据库用户操作,ORACLE跨数据库操作,DBLINK的使用

    ORACLE跨数据库操作,DBLINK的使用 前几天帮一个朋友弄ORACLE跨数据库的操作,共享下具体的操作流程: 一.不同IP的数据库(DBLINK) 本地数据库ip 10.56.7.26 远程数据 ...

  2. Oracle跨数据库操作

    实现: 将远程数据库1中的表1数据写入到远程数据库2中的表2. 第一步:创建服务名 需要安装Oracle服务器(即本地可以安装数据库)红色部分很重要 方法一: 修改Oracle安装目录下的.\prod ...

  3. JTA实现跨数据库操作

    EJB3.0实现跨数据库进行存取 环境:MySQL5.1/JBoss5.1 1.加入跨数据库的数据源,由于JBoss没有提供mysql的配置文件,所以要手工加入: mysql-xa-ds.xml:(注 ...

  4. laxcus的新功能:支持表跨数据库操作

    关系数据库的层次结构,是账号.数据库.表,一个账号下可以有多个数据库,每个数据库有多个表,但是不同数据库下的表是不能够互相操作的.例如:"select a.*, b.* from Title ...

  5. Java从入门到精通——数据库篇之JAVA中的对Oracle数据库操作

    在Java中对Oracle数据库的操作分为两种:一.查询.二.非查询. 下面是我对其进行总结: 一.查询数据 /** * 根据用户代码查询* @param userId* @return 如果存在返回 ...

  6. tp5 链接多个数据库 跨数据库操作

    首先配置application下面的database.php,配置好需要链接的两个数据库 return ['content'=>['type' => 'mysql',// 服务器地址'ho ...

  7. python postgresql跨数据库操作_python 操作postgres数据库

    1.使用psycopg2连接postgresql,首先需要安装python psycopg2依赖包 pip install psycopg2 2.数据库连接 import psycopg2 try: ...

  8. 如何跨数据库进行数据操作

    从一个数据库表导入到另一个数据库表或者说 将一个库中的表的数据添加到另一个库的表中 其实不用数据导入导出那么复杂,目前有两种跨数据库操作 1.不同的服务地址 eg:[192.168.**.*0].Da ...

  9. 数据基础---mysql数据库操作(一)---基础操作

    mysql常识 本文前面主要是对<mysql_5.5中文参考手册>部分内容的整理. 说明:登录mysql后,可以看到mysql> 的提示符,可以输入相关命令:输入命令后,需要以&qu ...

最新文章

  1. 沈向洋、华刚:读科研论文的三个层次、四个阶段与十个问题
  2. 基础学习总结(五)---baseAdapter、ContentProvider
  3. WPF 类型“System.ComponentModel.ISupportInitialize”在未被引用的程序集中定义。
  4. 5 结构型模式之 - 适配器模式
  5. Desktop OS Market Share: Windows 90% - Mac 9% - Linux 1%
  6. Android--Activity四种启动模式
  7. 使用Apache Lucene 4.3轻松进行搜索
  8. 爬虫必须学会的正则表达式
  9. 【Java】从键盘中任意输入一个字符,判断该字符的类别
  10. Node项目实战开发-博客系统
  11. mysql是表级锁还是行级锁_带你了解MySQL数据库中的全局锁、表级锁、行级锁
  12. linux mysql插入中文乱码_Unix下Mysql插入中文出现乱码
  13. 1103 Integer Factorization (30 分)深度搜索30分大题要重写
  14. oracle报表工具查询数据太慢优化方案,页面优化和sql优化
  15. 康托尔三分集是不可列集的证明
  16. 用Cordova打包Vue项目为app
  17. ASUS华硕天选/天选2P/天选3P/飞行堡垒789/枪神/枪神2/枪神3/枪神4/枪神5P/枪神6P/幻14 FA506 FX506安装原厂Windows10系统原装Windows11出厂系统重装
  18. AWS亚马逊云注册图文详细教程,多币种充值优势分析
  19. JavaScript数据类型基本数据类型与引用数据类型的区别
  20. [讲座论坛] 应对气候变化的中国视角

热门文章

  1. Linux下PHP使用selenium、chrome、chromedriver模拟无界面浏览器
  2. pythonmatplot教程_matplotlib入门实战全教程
  3. 一期每日一GO群分享-flag、viper、协程池、异常处理
  4. 区块链如何解决数据安全问题?
  5. hibernate学习笔记(总结)
  6. 论人工智能真空感应悬浮熔炼航母特种钢
  7. JMX Connectors
  8. 阿里、腾讯等大厂技术面试题目汇总
  9. 港科百创| 香港科大-越秀集团百万奖金国际创业大赛·2021年度总决赛系列活动全回顾...
  10. c语言程序设计 doc,C语言程序设计61844.doc