BeetlSQL 3.3.13 发布,Java 的 DAO 工具

栏目: 软件资讯 · 发布时间: 4年前

内容简介:本周又发布了一个修复版本 修复了Saga事物嵌套回滚的Bug 修复注解实现TargetAdditional在翻页查询中不起作用的Bug 感谢网友使用BeetlSQL的高阶功能并给予详细反馈 Saga事务例子 SagaContext sagaContext = Saga...

本周又发布了一个修复版本

  • 修复了Saga事物嵌套回滚的Bug
  • 修复注解实现TargetAdditional在翻页查询中不起作用的Bug

感谢网友使用BeetlSQL的高阶功能并给予详细反馈

Saga事务例子

SagaContext sagaContext = SagaContext.sagaContextFactory.current();
try {
	sagaContext.start(gid);
	//模拟调用俩个微服务,订单和用户
	rest.postForEntity(orderAddUrl, null,String.class, paras);
	rest.postForEntity(userBalanceUpdateUrl, null,String.class, paras);
	if (1 == 1) {
		throw new RuntimeException("模拟失败,查询saga-server 看效果");
	}
	sagaContext.commit();
} catch (Exception e) {
	log.info("error " + e.getMessage(),e);
	log.info("start rollback  " + e.getMessage());
	sagaContext.rollback();
	return e.getMessage();
}

TargetAdditional 在多租户使用例子,添加租户路由信息

SchemaTenantUser user = sqlManager.unique(SchemaTenantUser.class,1);

String sql = "select * from ${schema}.sys_user ";
List<SchemaTenantUser> list = sqlManager.execute(sql,SchemaTenantUser.class,new HashMap());
System.out.println(list.get(0));

模型定义

@Data
@Table(name="${schema}.sys_user")
@SchemaTenant
public static class SchemaTenantUser{
    @Auto
    private Integer id;
    @Column("name")
    private String name;
}



/**
 * 每个租户一个库
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(value = {ElementType.TYPE})
@Builder(SchemaTenantContext.class) //注解实现类
public @interface SchemaTenant {

}
public class SchemaTenantContext implements TargetAdditional {
    public static ThreadLocal<String> tenantSchemaLocals = new ThreadLocal<>();
    @Override
    public Map<String, Object> getAdditional(ExecuteContext ctx, Annotation an) {

        String schema = tenantSchemaLocals.get();
        if(schema==null){
            throw new IllegalStateException("缺少租户信息");
        }
        Map map = new HashMap();
        map.put("schema",schema);
        return map;
    }
}

Maven

<dependency>
  <groupId>com.ibeetl</groupId>
  <artifactId>beetlsql</artifactId>
  <version>3.3.13-RELEASE</version>
</dependency>

BeetlSQL 研发自2015年,目标是提供开发高效,维护高效,运行高效的数据库访问框架,它适用范围广,性能高,维护性好,写起数据库访问代码特别顺滑。目前支持的数据库如下

  • 传统数据库:MySQL,MariaDB,Oralce,Postgres,DB2,SQL Server,H2,SQLite,Derby,神通,达梦,华为高斯,人大金仓,PolarDB 等
  • 大数据:HBase,ClickHouse,Cassandar,Hive
  • 物联网时序数据库:Machbase,TD-Engine,IotDB
  • SQL查询引擎:Drill,Presto,Druid
  • 内存数据库:ignite,CouchBase

阅读文档 源码和例子 在线体验

BeetlSQL也支持IDEA插件,提供向导和自动提示

BeetlSQL 3.3.13 发布,Java 的 DAO 工具


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

用户思维+:好产品让用户为自己尖叫

用户思维+:好产品让用户为自己尖叫

[美] Kathy Sierra / 石航 / 人民邮电出版社 / 2017-9 / 69.00元

畅销产品与普通产品的本质区别是什么?若没有巨额预算、不爱营销噱头、不开奢华的产品发布会,如何打造可持续成功的产品?本书针对上述问题提出了新颖的观点:用户并不关心产品本身有多棒,而是关心使用产品时自己有多棒。作者利用其多年的交互设计经验,生动阐释了这一观点背后的科学。可贵的是,本书并不止步于解释“为什么”,还清晰呈现了“怎么做”。 本书风格活泼、图文并茂,其对话式内容既引人入胜,又引人深思,适......一起来看看 《用户思维+:好产品让用户为自己尖叫》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

SHA 加密
SHA 加密

SHA 加密工具