博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JTA事物
阅读量:2235 次
发布时间:2019-05-09

本文共 6487 字,大约阅读时间需要 21 分钟。

applicationContext.xml

DataSourceA
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
test
127.0.0.1
3306
root
123456
jdbc:mysql://127.0.0.1:3306/test
1
DataSourceB
net.sourceforge.jtds.jdbcx.JtdsDataSource
SimpleDB
127.0.0.1
1434
sa
123456
1
classpath*:persistence.xml
classpath*:persistence.xml

 persistence.xml

 

com.ajita.jta.entity.MySqlUser
com.ajita.jta.entity.SQLServerUser

 Main.java

 

package com.ajita.jta;import org.springframework.context.ApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext;import com.ajita.jta.service.UserService;public class Main {	public static void main(String[] args) {		try {			ApplicationContext ctx = new FileSystemXmlApplicationContext(					"classpath:applicationContext.xml");			UserService userService = ctx.getBean("userService",					UserService.class);			userService.saveUser("hwwang2222222222222", "123");		} catch (Exception ex) {			ex.printStackTrace();		}	}}

 UserService.java

package com.ajita.jta.service;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import com.ajita.jta.dao.MySqlUserDao;import com.ajita.jta.dao.SQLServerUserDao;import com.ajita.jta.entity.MySqlUser;import com.ajita.jta.entity.SQLServerUser;@Servicepublic class UserService {	@Autowired	private MySqlUserDao mysqlJpaDao;	@Autowired	private SQLServerUserDao sqlserverJpaDao;		@Transactional	public boolean saveUser(String username,String password){		MySqlUser user1=new MySqlUser();		user1.setUsername(username);		user1.setPassword(password);				mysqlJpaDao.save(user1);				SQLServerUser user2=new SQLServerUser();		user2.setUsername(username);		sqlserverJpaDao.save(user2);		return true;	}}

 SQLServerUserDao.java

package com.ajita.jta.dao;import java.util.Collection;import javax.persistence.EntityManager;import javax.persistence.PersistenceContext;import org.springframework.stereotype.Repository;@Repository("sqlserverJpaDao")public class SQLServerUserDao {	@PersistenceContext(unitName = "PersistenceUnitB")	private EntityManager entityManager;	public EntityManager getEntityManager() {		return entityManager;	}	public void setEntityManager(EntityManager entityManager) {		this.entityManager = entityManager;	}	public void save(Object entity) {		entityManager.persist(entity);	}	public void update(Object entity) {		entityManager.merge(entity);	}	public 
void saveAll(Collection
entities) { for (T entity : entities) { save(entity); } } public void delete(Object entity) { entityManager.remove(entity); } public
void deleteAll(Collection
entities) { for (T entity : entities) { delete(entity); } }}

 MySqlUserDao.java

package com.ajita.jta.dao;import java.util.Collection;import javax.persistence.EntityManager;import javax.persistence.PersistenceContext;import org.springframework.stereotype.Repository;@Repository("mysqlJpaDao")public class MySqlUserDao {	@PersistenceContext(unitName = "PersistenceUnitA")	private EntityManager entityManager;	public EntityManager getEntityManager() {		return entityManager;	}	public void setEntityManager(EntityManager entityManager) {		this.entityManager = entityManager;	}	public void save(Object entity) {		entityManager.persist(entity);	}	public void update(Object entity) {		entityManager.merge(entity);	}	public 
void saveAll(Collection
entities) { for (T entity : entities) { save(entity); } } public void delete(Object entity) { entityManager.remove(entity); } public
void deleteAll(Collection
entities) { for (T entity : entities) { delete(entity); } }}

 SQLServerUser.java

package com.ajita.jta.entity;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name = "UserSyn")public class SQLServerUser {	@Id	@Column(name = "ID")	@GeneratedValue(strategy = GenerationType.IDENTITY)	private int id;	@Column(name = "Name")	private String username;		public int getId() {		return id;	}	public void setId(int id) {		this.id = id;	}	public String getUsername() {		return username;	}	public void setUsername(String username) {		this.username = username;	}}

 MySqlUser.java

package com.ajita.jta.entity;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name = "user_table")public class MySqlUser {	@Id	@Column(name="ID")	@GeneratedValue(strategy=GenerationType.IDENTITY)	private int id;	@Column(name="UserName")	private String username;	@Column(name="Password")	private String password;		public int getId() {		return id;	}	public void setId(int id) {		this.id = id;	}	public String getUsername() {		return username;	}	public void setUsername(String username) {		this.username = username;	}	public String getPassword() {		return password;	}	public void setPassword(String password) {		this.password = password;	}}

 

 

转载地址:http://bsgfb.baihongyu.com/

你可能感兴趣的文章
【LEETCODE】190-Reverse Bits
查看>>
【LEETCODE】67-Add Binary
查看>>
【LEETCODE】223-Rectangle Area
查看>>
【LEETCODE】12-Integer to Roman
查看>>
【学习方法】如何分析源代码
查看>>
【LEETCODE】61- Rotate List [Python]
查看>>
【算法】- 动态规划的编织艺术
查看>>
深度学习的主要应用举例
查看>>
word2vec 模型思想和代码实现
查看>>
怎样做情感分析
查看>>
用深度神经网络处理NER命名实体识别问题
查看>>
用 RNN 训练语言模型生成文本
查看>>
RNN与机器翻译
查看>>
用 Recursive Neural Networks 得到分析树
查看>>
RNN的高级应用
查看>>
TensorFlow-7-TensorBoard Embedding可视化
查看>>
轻松看懂机器学习十大常用算法
查看>>
一个框架解决几乎所有机器学习问题
查看>>
特征工程怎么做
查看>>
机器学习算法应用中常用技巧-1
查看>>