java jta mysql_JTA实现跨数据库操作
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实现跨数据库操作相关推荐
- oracle跨数据库用户操作,ORACLE跨数据库操作,DBLINK的使用
ORACLE跨数据库操作,DBLINK的使用 前几天帮一个朋友弄ORACLE跨数据库的操作,共享下具体的操作流程: 一.不同IP的数据库(DBLINK) 本地数据库ip 10.56.7.26 远程数据 ...
- Oracle跨数据库操作
实现: 将远程数据库1中的表1数据写入到远程数据库2中的表2. 第一步:创建服务名 需要安装Oracle服务器(即本地可以安装数据库)红色部分很重要 方法一: 修改Oracle安装目录下的.\prod ...
- JTA实现跨数据库操作
EJB3.0实现跨数据库进行存取 环境:MySQL5.1/JBoss5.1 1.加入跨数据库的数据源,由于JBoss没有提供mysql的配置文件,所以要手工加入: mysql-xa-ds.xml:(注 ...
- laxcus的新功能:支持表跨数据库操作
关系数据库的层次结构,是账号.数据库.表,一个账号下可以有多个数据库,每个数据库有多个表,但是不同数据库下的表是不能够互相操作的.例如:"select a.*, b.* from Title ...
- Java从入门到精通——数据库篇之JAVA中的对Oracle数据库操作
在Java中对Oracle数据库的操作分为两种:一.查询.二.非查询. 下面是我对其进行总结: 一.查询数据 /** * 根据用户代码查询* @param userId* @return 如果存在返回 ...
- tp5 链接多个数据库 跨数据库操作
首先配置application下面的database.php,配置好需要链接的两个数据库 return ['content'=>['type' => 'mysql',// 服务器地址'ho ...
- python postgresql跨数据库操作_python 操作postgres数据库
1.使用psycopg2连接postgresql,首先需要安装python psycopg2依赖包 pip install psycopg2 2.数据库连接 import psycopg2 try: ...
- 如何跨数据库进行数据操作
从一个数据库表导入到另一个数据库表或者说 将一个库中的表的数据添加到另一个库的表中 其实不用数据导入导出那么复杂,目前有两种跨数据库操作 1.不同的服务地址 eg:[192.168.**.*0].Da ...
- 数据基础---mysql数据库操作(一)---基础操作
mysql常识 本文前面主要是对<mysql_5.5中文参考手册>部分内容的整理. 说明:登录mysql后,可以看到mysql> 的提示符,可以输入相关命令:输入命令后,需要以&qu ...
最新文章
- 沈向洋、华刚:读科研论文的三个层次、四个阶段与十个问题
- 基础学习总结(五)---baseAdapter、ContentProvider
- WPF 类型“System.ComponentModel.ISupportInitialize”在未被引用的程序集中定义。
- 5 结构型模式之 - 适配器模式
- Desktop OS Market Share: Windows 90% - Mac 9% - Linux 1%
- Android--Activity四种启动模式
- 使用Apache Lucene 4.3轻松进行搜索
- 爬虫必须学会的正则表达式
- 【Java】从键盘中任意输入一个字符,判断该字符的类别
- Node项目实战开发-博客系统
- mysql是表级锁还是行级锁_带你了解MySQL数据库中的全局锁、表级锁、行级锁
- linux mysql插入中文乱码_Unix下Mysql插入中文出现乱码
- 1103 Integer Factorization (30 分)深度搜索30分大题要重写
- oracle报表工具查询数据太慢优化方案,页面优化和sql优化
- 康托尔三分集是不可列集的证明
- 用Cordova打包Vue项目为app
- ASUS华硕天选/天选2P/天选3P/飞行堡垒789/枪神/枪神2/枪神3/枪神4/枪神5P/枪神6P/幻14 FA506 FX506安装原厂Windows10系统原装Windows11出厂系统重装
- AWS亚马逊云注册图文详细教程,多币种充值优势分析
- JavaScript数据类型基本数据类型与引用数据类型的区别
- [讲座论坛] 应对气候变化的中国视角
热门文章
- Linux下PHP使用selenium、chrome、chromedriver模拟无界面浏览器
- pythonmatplot教程_matplotlib入门实战全教程
- 一期每日一GO群分享-flag、viper、协程池、异常处理
- 区块链如何解决数据安全问题?
- hibernate学习笔记(总结)
- 论人工智能真空感应悬浮熔炼航母特种钢
- JMX Connectors
- 阿里、腾讯等大厂技术面试题目汇总
- 港科百创| 香港科大-越秀集团百万奖金国际创业大赛·2021年度总决赛系列活动全回顾...
- c语言程序设计 doc,C语言程序设计61844.doc