1.jfinal的配置类
@Override
public void configInterceptor(Interceptors me) {
me.add(new TxByMethodRegex("(add.*|save.*|update.*|delete.*)"));
me.add(new TxByActionKeyRegex("(add.*|save.*|update.*|delete.*)"));
me.add(new TxByMethods("addSss"));
}
并在dao层方法addSss上加@Before(Tx.class),一个数据库的用此方法即可。
2.有两个数据源的
有的说是配置
@TxConfig("其他数据源名称")
@Before(Tx.class)
我是jfinal4.3,测试没有成功。
最后用的是Db。
boolean a=true;
a=Db.use("数据源名称").tx(() -> {
Pdd p=new Pdd();
//操作赋值
return p.save();
});
Db.use..返回值可以不加。
可以用try-catch,判断。
其中db2数据源的保存方法,直接用类名声明,然后赋值即可调用save保存即可。
主数据源的可以在最后返回值上设置p.save()&&a.save()等。
但是有一个问题,就是主数据源的保存如果有一个是要先保存在获取id的,最后保存的表报错,先保存的不会回滚。