BeetlSQL 3.3.13 发布,Java 的 DAO 工具

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

内容简介:本周又发布了一个修复版本 修复了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 工具


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

查看所有标签

猜你喜欢:

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

别怕,Excel VBA其实很简单

别怕,Excel VBA其实很简单

Excel之家 (Excel Home) / 人民邮电出版社 / 2012-10-1 / 49.00元

《别怕,excel vba其实很简单》考虑到大多数读者没有编程基础的实际情况,用浅显易懂的语言和生动形象的比喻,并配合大量插画,介绍excel中看似复杂的概念和代码、从简单的宏录制、vba编程环境和基础语法的介绍,到常用对象的操作与控制、excel事件的调用与控制、用户界面设计、代码调试与优化、都进行了形象的介绍。 《别怕,excel vba其实很简单》适合想提高工作效率的办公人员,特别是经......一起来看看 《别怕,Excel VBA其实很简单》 这本书的介绍吧!

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

在线压缩/解压 JS 代码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具