BeetlSQL 3.3.13 发布,Java 的 DAO 工具

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

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


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

查看所有标签

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

十亿美金的教训

十亿美金的教训

林军 唐宏梅 / 浙江大学出版社 / 2011-5 / 39.00元

《十亿美金的教训》内容简介:创业者个人能力欠缺、团队涣散、经营方向把握不当、资金动用失措以及时局不利……这其中有哪一个细节被忽视,都可能是失败的导火索! 国内二十年互联网风云,有人成功,有人失败。两种结果,不同方向,却往往只是一线之隔。他们留给我们怎样的教训与启示?后来者要怎样才能跳出失败之殇? 《十亿美金的教训》选取了互联网十个经典的失败案例,并深层解读这些互联网企业与创业者们从成功......一起来看看 《十亿美金的教训》 这本书的介绍吧!

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

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具