系统侠官网 - 最好的电脑系统下载网站!

  • 大小:19.7 MB
  • 语言:简体中文
  • 授权:免费版
  • 类别:编程开发
  • 下载:
  • 更新:2021-11-07
  • 支持系统:WinXP, Win7, Win8, Win10, WinAll
  • 安全检测: 360安全卫士 360杀毒 电脑管家
  • 星级评价 :
  • 软件介绍
  • 人气下载
  • 下载地址
  • 网友评论

  BeetSql提供数据库管理功能,可以在软件编辑SQL,可以在软件查询表单内容,可以在软件生成脚本,支持定义变量、属性引用、算数表达式、逻辑表达式、循环语句、条件语句、函数调用、格式化、class方法调用、错误处理、安全输出、注释、类型说明等多种内容,用户可以直接在软件复制代码运行,可以立即分析你的数据库,可以调用数据内容创建可视化的表单,为用户管理数据库提供帮助,软件支持DAO,您可以在软件编辑数据模型,可以将数据映射到模型,可以直接在模板混合数据生成模型,如果你需要DAO工具就可以下载BeetSql!

BeetSql(数据库管理工具)

软件功能

  BeetlSQL 超过MyBatis的全功能Java DAO工具

  BeetSql是一个全功能DAO工具, 同时具有Hibernate 优点 & Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用。

  开发效率高

  无需注解,自动使用大量内置SQL,轻易完成增删改查功能,节省50%的开发工作量。 数据模型支持Pojo,也支持Map/List这种快速模型,也支持混合模型。 SQL 模板基于Beetl实现,更容易写和调试,以及扩展。 可以针对单个表(或者视图)代码生成pojo类和sql模版,甚至是整个数据库。能减少代码编写工作量。

  易于维护

  SQL 以更简洁的方式,Markdown方式集中管理,同时方便程序开发和数据库SQL调试。可以自动将sql文件映射为dao接口类。灵活直观的支持支持一对一,一对多,多对多关系映射而不引入复杂的OR Mapping概念和技术。具备Interceptor功能,可以调试,性能诊断SQL,以及扩展其他功能

软件特色

  BeetlSql可以通过sql文件的管理和搜索来支持跨数据库开发,先搜索特定数据库,然后再查找常见。另外BeetlSql也提供了一些夸张的数据库解决方案

  DbStyle描述了数据库特性,注入插入语句,翻页语句都通过其子类完成,用户无需操心

  提供一些最小的函数扩展,代替各个数据库的函数,如时间和时间操作函数date等

  MySqlStyle mysql数据库支持

  OracleStyleoralce支持

  PostgresStyle postgresql数据库支持

  其他还有SQLServer,H2,SQLLite,DB2数据库支持

使用说明

  缓存

  缓存功能同DebugInterceptor构造方式一样,SimpleCacheInterceptor能缓存指定的sql查询结果

BeetSql(数据库管理工具)

  如上例,指定所有名称空间为用户查询都将被缓存,如果此名称空间有更新操作,则缓存清除,输出如下

BeetSql(数据库管理工具)

  第二条查询的时间为0,这是因为直接使用了缓存缘故。

  SimpleCacheInterceptor构造的时候接受一个类列表,所有sqlid的名称空间,称为“ user.queryUser”的名称空间是“ user”,如果beetlsql的查询sqlid此列表里,将参与缓存处理,否则,不参与缓存处理

  默认的缓存实现是使用内存映射,也可以使用其他实现方式,例如redies,只需要实现如下接口

BeetSql(数据库管理工具)

  拦截器

  拦截器功能BeetlSql可以在执行sql前后执行双向的Intercetor,从而有机会执行各种扩展和监控,这比已知的通过数据库连接池做Interceptor更容易。如下Interceptor都是有可能的

  监控sql执行缩短时间语句,打印并收集。TimeStatInterceptor类完成

  对每一条sql语句执行后输出其sql和参数,也可以根据条件只输出特定的sql集合的sql。方便用户调试。DebugInterceptor完成

  汇总sql执行情况(未完成,需要集成第三方sql分析工具)

  跟踪执行的sql和响应的参数

  DebugInterceptor类是常用类,可以通过sql和参数打印到控制台,如果你想收集log4j等工具,你需要继承DebugInterceptor,实现println方法,使用你的日志框架打印

  如下,在执行数据库操作前会执行之前,通过ctx可以获取执行的参数参数,数据库成功执行后,会执行方法之后

BeetSql(数据库管理工具)

  对于查询,执行结果是查询返回的结果集条数,对于更新,返回的是成功条数,如果是批量更新,则为InterceptorContext如下,包含了sqlId,实际得sql,和实际得参数,也包括执行结果结果。 ,则是一个枚举。可以参考源码DebugInterceptor

BeetSql(数据库管理工具)

  对于批处理更新,使用BatchUpdateInterceptorContext代替InterceptorContext,paras参数为空,增加了batchParas,保留了所有的参数,定义如下

BeetSql(数据库管理工具)
BeetSql(数据库管理工具)

  数据库主从

  内置支持主从数据库BeetlSql管理数据源,如果只提供一个数据源,则认为读写器均操作此数据源,如果提供多个,则替换第一个为写库,其他为读库。用户在开发代码的时候,不必担心操作的是哪个数据库,因为调用sqlScript的select相关API的时候,总是去读取从库,添加/更新/删除的时候,总是读取主库(如下是主从实现原理,大部分情况下无需关心如何实现)

BeetSql(数据库管理工具)

  主从库的逻辑是由ConnectionSource来决定的,如下DefaultConnectionSource的逻辑

BeetSql(数据库管理工具)

  forceStatus可以强制SQLManager使用主或从数据库。参考api SQLManager.useMaster(DBRunner f),SQLManager.useSlave(DBRunner f)

  对于不同的ConnectionSource完成逻辑不一样,对于spring,jfinal这样的框架,如果sqlManager在事务环境里,总是操作主数据库,如果是并行事务环境则操作从数据库。如果没有事务环境,则根据sql是查询还是更新来决定。

  如下是SpringConnectionSource提供的主从逻辑

BeetSql(数据库管理工具)

  注意,对于使用者而言,无需担心本节说的内容,仅供要定制主从逻辑的架构师。

  分片JDBC支持

  分片-JDBC支持开发者可以使用Sharding-JDBC来支持数据库分库分表,Sharding-JDBC对外提供一个封装好的数据源。只要将数据源当成普通数据源配置给BeetlSQL就可以,唯一的问题是因为Sharding-JDBC的数据源提供的MetaData功能较弱,因此构造BeetlSQL的ConnectionSource的时候还需要额外指定一个真正的数据源

BeetSql(数据库管理工具)

  connectionSource唯一不同地方是重载了getMetaData,从而从一个真实的DataSource上获取数据库元信息

  对于分表应用,例如创建了user001,user002 ..用户对象必须对应用户表,如果未创建用户表,这样会报错,可以通过SQLManager.addVirtualTable(“ user001”,“ user”),告诉BeetlSQL,通过user001来获得“用户”的元数据信息