分类分类
更新时间:2026-05-11 03:39:39作者:qazwsxzxc
本次发布主要增加了分布式Sega事务支持,适合多数据源
按照社区建议,修改了了springboot 的 yml配置方式
修改了@Jackson和@UpdateTime,本来是用来作为例子,但社区开发者提供了较好的完整实现
增加Sega支持
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetlsql</artifactId>
<version>3.0.10-RELEASE</version>
</dependency>
public class UserEntity{
@Jackson
Map<String,Address> addresses;
@UpdateTime
LocalDateTime updateTime;
}
在多库多数据源的场景下,ORM工具有三个挑战,一个是如何根据各种策略分库分表,一个是如何方便的查询多库的数据,另外一个是多库操作的事务 BeetlSQL能很好的支持分库分表策略,以及提供了简单的Sega事务支持。至于多库查询,则可以交给第三方SQL查询引擎,BeetlSQL也支持多种SQL查询引擎,比如Druid,PrestoSQL
public interface UserMapper extends SegaMapper<User> {
@SegaUpdateSql(
sql="update stock set count=count+1 where id=?",
rollback = "update stock set count=count-1 where id=?"
)
void addStock(String id);
}
SegaMapper 的内置增删改查都实现了回滚操作
public interface SegaMapper<T> {
/** sega 改造的接口**/
@AutoMapper(SegaInsertAMI.class)
void insert(T entity);
@AutoMapper(SegaUpdateByIdAMI.class)
int updateById(T entity);
@AutoMapper(SegaDeleteByIdAMI.class)
int deleteById(Object key);
/** 正常接口 **/
@AutoMapper(SingleAMI.class)
T single(Object key);
@AutoMapper(UniqueAMI.class)
T unique(Object key);
}
如下是测试代码 SimpleTest
SegaContext segaContext = SegaContext.segaContextFactory.current();
UserMapper userMapper = sqlManager.getMapper(UserMapper.class);
long count = sqlManager.allCount(User.class);
try{
User user = new User();
user.setName("abc");
userMapper.insert(user);
User user2 = new User();
user2.setName("abc");
userMapper.insert(user2);
throw new RuntimeException("模拟异常");
}catch(RuntimeException ex){
segaContext.rollback();
}
long afterCount = sqlManager.allCount(User.class);
Assert.assertEquals(count,afterCount);
注意,如果在Spring中要使得Sega起作用,需要设置Tranaction为None
相关
修真情缘角色扮演303.33 MBv1.0.02026-05-10
下载我的小独角兽女孩休闲益智380.89 MBv1.0.232026-05-10
下载超级种田男孩手机版经营养成1.31Gv1.0.92026-05-10
下载不必要的实验冒险游戏64.9 MBv1.1.592026-05-10
下载军师联盟策略游戏163.2 MBv0.0.12026-05-10
下载翻天喜地凑大钱手机版休闲益智138.72 MBv1.0.92026-05-10
下载东离剑游纪手游动作射击1.6Gv1.4.22026-05-10
下载天猫养车商家版App学习办公74.95 MBv0.6.12026-05-10
下载掌上命运方舟App手游辅助137.48 MBv1.9.12026-05-10
下载退役军人服务APP生活服务67.16 MBv1.2.52026-05-10
下载屯漫漫画APP资讯阅读23.06 MBv2.0.32026-05-10
下载蛋仔派对蛋壳App手游辅助185.73 MBv0.0.22026-05-10
下载









