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 工具


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

查看所有标签

猜你喜欢:

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

XSS跨站脚本攻击剖析与防御

XSS跨站脚本攻击剖析与防御

邱永华 / 人民邮电出版社 / 2013-9-1 / 49.00元

《XSS跨站脚本攻击剖析与防御》是一本专门剖析XSS安全的专业书,总共8章,主要包括的内容如下。第1章 XSS初探,主要阐述了XSS的基础知识,包括XSS的攻击原理和危害。第2章 XSS利用方式,就当前比较流行的XSS利用方式做了深入的剖析,这些攻击往往基于客户端,从挂马、窃取Cookies、会话劫持到钓鱼欺骗,各种攻击都不容忽视。第3章 XSS测试和利用工具,介绍了一些常见的XSS测试工具。第4......一起来看看 《XSS跨站脚本攻击剖析与防御》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

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

在线 XML 格式化压缩工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试