3、多数据源配置的的问题和使用
前言
在3月份和4月份的时候我们分别用自定义注解aop和事物注解解决了多数据源,但是在使用过程中出现了很多的问题,下面将一些新手不知道的问题做一个简单的讲解
1、多数据源混使用注解的方式可以扫描不同数据库但是使用的是同一个mapper、repository、实体,而且可以分别操作各自的数据库,但是不能联合同时操作多个数据库
2、如果是事物注解,则不可以扫描同一个mapper、repository、实体,但是可以操作不同数据库。也就是说需要建立两个文件目录。
2.1、这里使用的时候,两个数据库使用到的 mapper和repository已经实体名字不能一样否则会出错的
1、第一个数据库使用的实体为(表的名字可以是同一个)
@Entity
@Table(name="coupon_item_good_attachement")
@Accessors(chain = true)
@Data
@ApiModel(description = "优惠券商品 图片附件")
public class CouponItemGoodAttachmentBefore {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ApiModelProperty("优惠券商品Id")
private Long couponItemGoodId;
@Entity
@Table(name="coupon_item_good_attachement")
@Accessors(chain = true)
@Data
@ApiModel(description = "优惠券商品 图片附件")
public class CouponItemGoodAttachment {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ApiModelProperty("优惠券商品Id")
private Long couponItemGoodId;
2.2、在同时操作两个数据库的的时候,我们最好采用一个中间的服务层,让这个中间的服务层来调用这两个数据库
@Service
@Slf4j
public class XiaoDangServiceImpl implements XiaoDangService {
//多点数据源
@Resource
private CouponItemGoodService couponItemGoodService ;
//小当数据源
@Resource
private XiaoDuoDataInsertService xiaoDuoDataInsertService;
public void keyTransferToXiaoDang(Long taobaoUserInfoId) {
如果满意,请打赏博主任意金额,感兴趣的在微信转账的时候,添加博主微信哦, 请下方留言吧。可与博主自由讨论哦
支付包 | 微信 | 微信公众号 |
---|---|---|