软件发布

手机版,更便捷!

下载排行榜首页软件下载安卓下载资讯教程推荐专题装机必备
当前位置:电脑软件 > 应用软件 > 计算器类 > BeetSqlV2022 正式版

BeetSql V2022 正式版数据库管理系统

101人评分

  • 软件大小:19.8MB
  • 更新时间:2021-02-19
  • 授权:免费软件
  • 软件类型:国外软件
  • 软件类别:国外软件
  • 语言:英文软件
  • 平台:Win7/Win8/Win10/WinALL
  • 平台检测:
立即下载 已有 次下载

BeetSql是一款能够轻松进行数据库管理的工具。数据库管理必备神器BeetSql。软件结合了Hibernate,Mybatis等许多优点,它是一个功能齐全,专业且实用的DAO工具。它适用于以SQL为中心的应用程序,这些应用程序可以自动生成大量常用的SQL。它是一个特殊的程序,用于数据库设计用户的编程,设计和开发,非常方便实用。 BeetSql是一种数据库管理软件,具有很高的开发效率,跨多个数据库并且对DBA友好。它还指出了语法突出显示,错误提示和模型指针等多种功能,可以帮助用户减少代码数据库代码编辑错误,提高数据库设计和数据库管理效率,这是一种罕见的数据库管理软件。

软件功能:

BeetlSQL的目标是提供一个开发效率高,维护效率高且操作效率高的数据库访问框架。在系统中有多个库的情况下,它提供了一致的代码编写方式。支持以下数据平台

传数据库:MySQL,MariaDB,Oralce,Postgres,DB2,SQL Server,H2,SQLite,Derby,Magic Power,Dream,Huawei Gauss,Renda Jincang,PolarDB等。

大数据:HBase,ClickHouse,Cassandar,Hive

物联网时间序列数据库:Machbase,TD-Engine,IotDB

SQL查询引擎:Drill,Presto,Druid

内存数据库:点燃,CouchBase

BeetlSQL不仅类似于MyBatis或Hibernate,或者二者的结合。 BeetlSQL雄心勃勃的理想是基准测试甚至超越Spring Data。它是用于数据访问的统一框架,无论是传统数据库,大数据还是查询引擎。或定时库,内存数据库。

BeetSql

安装方式:

蜜蜂

Beetlsql

2.13.0。发布

蜜蜂

贝特尔

$ {最新版本}

或下载beetlsql(最新版本的beetl)并将其放在类路径中

准备工作要快速尝试BeetlSQL,您需要准备Mysql数据库或beetlsql支持的任何其他数据库,然后执行以下sql脚本

创建表`user`(

`id` int(11)NOT NULL AUTO_INCREMENT,

`name` varchar(64)DEFAULT NULL,

`age` int(4)默认为NULL,

`ceate_date` datetime NULL DEFAULT NULL,

主键(`id`)

)ENGINE = InnoDB DEFAULT CHARSET = utf8;

编写一个对应的Pojo类

到数据库表(或者您可以通过SQLManager的gen方法生成此类,请参阅以下部分)

导入java.math。*;

导入java.util.Date;

/ *

*

* en由beetlsql 2016-01-06

公共类用户{

整数ID;

私人整数年龄;

私有字符串名称;

私人日期createDate;

}

主键需要用注解来解释,例如@AutoID或@AssignID等,但是如果它是自动递增的主键并且属性名称是id,则不需要注解,并且自动将其视为自动递增的主键

代码示例写了一个java Main方法,内容如下

ConnectionSource源= ConnectionSourceHelper.getSimple(驱动程序,URL,用户名,密码);

DBStyle mysql =新的MySqlStyle();

// sql语句放在classpagth的/ sql目录中

SQLLoader loader = new ClasspathLoader(“ / sql”);

//数据库命名与Java命名相同,因此使用DefaultNameConversion,另一个是UnderlinedNameConversion,带下划线的样式,

UnderlinedNameConversion nc = new UnderlinedNameConversion();

//最后,创建一个SQLManager,不需要DebugInterceptor,但是您可以使用它来查看SQL执行

SLManager sqlManager =新的SQLManager(mysql,loader,source,nc,new Interceptor [] {new DebugInterceptor()});

//使用内置的生成的sql添加新用户,如果需要获取主键,可以传入KeyHolder

用户用户=新用户();

User.setAge(19);

User.setName(“ xiandafu”);

SqlManager.insert(用户);

/使用内置的sql查询用户

整数ID = 1;

用户= sqlManager.unique(User.class,id);

//模板更新,仅根据id更新值不为null的列

用户newUser = new User();

NewUser.setId(1);

NewUser.setAge(20);

SqlManager.updateTemplateById(newUser);

//模板查询

户查询= new User();

Query.setName(“ xiandafu”);

清单清单= sqlManager.template(query);

//询问

查询userQuery = sqlManager.getQuery(User.class);

列出用户= userQuery.lambda()。andEq(User :: getName,“ xiandafy”)。select();

//使用user.md文件中的select语句,请参阅下一节。

用户query2 = new User();

Query.setName(“ xiandafu”);

列表list2 = sqlManager.select(“ user.select”,User.class,query2);

//这部分需要参考mapper章节

UserDao dao = sqlManager.getMapper(UserDao.class);

列表list3 = dao.select(query2);

BeetlSql2.8.11提供了SQLManagerBuilder以在链中创建SQLManager

SQL文件示例通常,项目中仍然包含少量复杂的SQL,可能只有5或6行,或者可能有数百行。在单独的SQL文件中编写和维护更容易。为了执行user.select,在上例中,您需要在类路径中创建一个sql目录(在src目录中创建一个sql目录,或者在maven项目的资源目录中创建。将classpathLoader配置为该sql目录,请参见到上一节中的ClasspathLoader的初始化代码和随后的user.md文件中,内容如下

===

从用户中选择*,其中1 = 1

@If(!isEmpty(age)){和年龄=#age#

@}

@If(!isEmpty(name)){

和名称=#name#

@}

关于如何编写sql模板,我将在下一章中进行解释,以下是一些简单的说明。

是d格式,===上面是该文件中sql语句的唯一标记,下面是sql语句。

@和回车符是定界符,并且beetl语句可以写在其中。

“#”是一个占位符。生成SQL语句时,将其输出吗? ,如果要输出表达式值,则需要使用text函数或任何以db开头的函数,引擎会认为它直接输出文本。

IsEmpty是beetl的函数,用于确定变量是否为空或不存在。

文件名通常用作类名,首字母小写。

在SQL模板中使用beetl的原因是因为beetl语法类似于js,并且模板渲染已优化。与mybatis相比,它更易于掌握和强大,可读性更好,并且易于在Java和数据库之间迁移sql语句

注意:sqlId到sql文件的映射是通过类SQLIdNameConversion完成的。默认情况下提供DefaultSQLIdNameConversion实现,即最后一部分是带有“。”的sql片段的名称。区分最后一部分是文件相对路径,例如sqlId是user.select,然后select是sql片段名称,user是文件名,beetlsql将在根目录中查找/user.sql,/user.md。 ,并查找数据库方言目录。例如,如果使用mysql数据库,则将首先查找/ mysql /user.md,/mysql/user.sql,然后查找

寻找/user.md、/user.sql。

果sql是test.user.select,它将在/test/user.md(sql)或/mysql/test/user.md(sql)下查找“ select”片段。

生成用户所需的代码和sql不需要自己编写,一个好的做法是在项目中编写一个特殊的类来协助生成pojo和sql片段,代码如下

公共静态void main(String [] args){

SqlManager sqlManager = ...... //同上

SqlManager.genPojoCodeToConsole(“ user”);

SqlManager.genSQLTemplateToConsole(“ user”);

}

意:我经常在项目中编写这样的辅助类,以基于表或视图生成各种代码和SQL片段,以便快速开发。

GenPojoCodeToConsole方法可以根据数据库表生成相应的Pojo代码,并将其输出到控制台。开发人员可以根据这些代码创建相应的类。如上例所示,控制台将输出

打包com.test;

导java.math。*;

导入java.util.Date;

导入java.sql.Timestamp;

/ *

*

en由beetlsql 2016-01-06

* /

共类用户{

私人整数ID;

私人整数年龄;

私有字符串名称;

私人日期createDate;

}

注意,生成属性时,id始终位于最前面,然后是Integer的类型,最后一个是日期类型,其余的则按字母顺序放在中间。

拥有User类后,如果需要编写SQL语句,那么genSQLTemplateToConsole将是一个很好的辅助方法,它可以输出一系列SQL语句片段,还可以将它们分配并粘贴到代码或SQL模板文件中(如上所述,如示例中所述,当调用genSQLTemplateToConsole时,将生成以下内容

样本

===

* 评论

从用户中选择#use(“ cols”)#,其中#use(“ condition”)#

科尔斯

===

ID,名称,年龄,创建日期

更新样本

===

id =#id#,name == name#,age =#age#,create_date` =#date#

健康)状况

===

1 = 1

@If(!isEmpty(name)){

和name` =#name#

@}

@If(!isEmpty(age)){

和`age` =#age#

@}

Beetlsql生成sql片段和用于查询,更新,条件的简单示例。您可以根据需要将其复制到sql模板文件。实际上,如果您熟悉gen方法,则可以直接将gen代码和sql导入您的项目中,或者甚至可以通过一次调用genAll来生成整个数据库。

请注意,sql片段的生成顺序以数据库表定义的顺序显示

指示

BeetlSQL解释说,获取SQLManagerSQLManager是系统的核心,它提供了所有dao方法。要获取SQLManager,可以直接构造SQLManager。并通过单例获得,例如:

ConnectionSource源= ConnectionSourceHelper.getSimple(驱动程序,URL,“”,用户名,密码);

DBStyle mysql =新的MySqlStyle();

// sql语句放在classpagth的/ sql目录中

SQLLoader loader = new ClasspathLoader(“ / sql”);

//数据库命名与Java命名相同,因此使用DefaultNameConversion,另一个是UnderlinedNameConversion,带有下划线的样式

UnderlinedNameConversion nc = new UnderlinedNameConversion();

//最后,创建一个SQLManager,不需要DebugInterceptor,但是您可以使用它来查看SQL执行

SQLManager sqlManager =新的SQLManager(mysql,loader,source,nc,new Interceptor [] {new DbugInterceptor()});

更常见的是,已经有一个数据源,下面的代码可用于创建一个连接源

ConnectionSource源= ConnectionSourceHelper.getSingle(数据源);

如果是主从数据源

ConnectionSource源= ConnectionSourceHelper.getMasterSlave(主,从属)

关于使用Sharding-JDBC实现子数据库子表,请参见主从章节

查询API简单查询(自动生成的sql)public T unique(Class clazz,Object pk)基于主键的查询,如果找不到,则将引发异常。

Public T single(Class clazz,Object pk)根据主键查询,如果找不到,则返回null。

公开列出所有(Class clazz)查询出所有结果集

public全部列出(类别clazz,int开头,int大小)翻页

public int allCount(Class clazz)总计

(查询)单表查询SQLManager提供查询类以实现单表查询操作

SQLManager SQL = ...

清单清单= sql.query(User.class).andEq(“ name”,“ hi”)。orderBy(“ create_date”)。select();

Sql.query(User.class)返回单表查询的Query类

如果是Java8,则可以使用lambda表示列名称

列表ist1 = sql.lambdaQuery(User.class).andEq(User :: getName,“ hi”)。orderBy(User :: getCreateDate).select();

lamdba()方法返回LamdbaQuery类,并且列名称支持lambda。

有关查询操作的具体用法,请参阅第25.1节

查询对象通常适合在业务操作中使用,并且不能代替通常的前端接口查询。建议使用sqlId来回查询

nt-end接口查询

查询提供了两个静态方法filterEmpty和filterNull。这两个方法返回StrongValue的子类。当诸如andEq之类的方法的参数是StrongValue的子类时,SQL语句将根据条件进行拼接。 StrongValue定义如下

公共接口StrongValue {

*

*是有效值

*返回false不执行SQL汇编

* @返回

* /

布尔值isEffective();

/ **

获取实际值

* @返回

* /

对象getValue();

}

以下是使用示例

博客博客= query.andEq(Blog :: getTitle,Query.filterNull(null))

.AndIn(博客:: getId,Arrays.asList(1,2,3,4,5,6,7))

.AndNotIn(博客:: getId,Query.filterEmpty(Collections.EMPTY_LIST))

.AndNotEq(Blog :: getId,Query.filterEmpty(“”))

.ndLess(博客:: getId,Query.filterEmpty(2))

.AndGreatEq(博客:: getId,Query.filterEmpty(0))。single()

模板查询public List template(T t)根据模板查询,返回与此模板匹配的所有数据库。与上面相同,映射器可以提供其他映射,例如一对多,一对一处理

Public T templateOne(T t)根据模板查询,返回结果,如果找不到,则返回null

公共列表模板(T t,int开头,int大小)与上面相同,您可以翻页

Public long templateCount(T t)获取符合条件的数量

Public List模板(Class target,Object paras,long start,long size)模板查询,参数为paras,可以是Map或普通对象

公共ong templateCount(Class target,Object paras)获得合格的数量

从页面翻动开始,系统的默认位置从1开始。为了与各种数据库系统兼容,它将自动转换为数据库惯例。例如,如果start为1,则将认为mysql和postgres从0开始(start-1),oralce,sqlserver,db2从1开始(start-0)。

但是,如果仅使用特定数据库,则可以遵循特定数据库的习惯。例如,如果仅使用mysql,则start记录的起始值为0,需要进行配置

OFFSET_START_ZERO = true

这样,翻页参数start可以传入0。

模板查询通常是简单的查询,例如用户登录验证

用户模板= new User();

Template.setName(...);

Teplate.setPassword(...);

Template.setStatus(1);

用user = sqlManager.templateOne(template);

通过sqlid查询,md文件公共列表中的sql语句根据sqlid查询(字符串sqlId,Class clazz,Map paras)以进行查询,参数为map

Public List select(String sqlId,clazz,Object paras)根据sqlid查询,参数为pojo

公共列表select(String sqlId,Class clazz)根据sqlid查询,无参数

公共T selectSingle(String id,Object paras,Class target)根据sqlid查询,输入为Pojo,并且相应的唯一值映射到指定的目标对象。如果找不到,则返回空。当需要注意时,有时结果集本身为空,此时建议使用唯一

Public T selectSingle(String id,Map paras,Class target)根据sqlid查询,输入为Map,对应的是

列表列表= sqlManager.execute(新的SQLReady(“从用户中选择*,其中name =?并且age =?”,“ xiandafu”,18),User.class);)

公共PageQuery执行(SQLReady p,Class clazz,PageQuery pageQuery)

字符串jdbcSql =“从ID按用户顺序选择*”;

PageQuery查询=新的PageQuery(1,20);

查询= sql.execute(新的SQLReady(jdbcSql),User.class,查询);

注意:sql参数是通过SQLReady而不是PageQuery传递的。

Update public int executeUpdate(SQLReady p)SQLReady包含需要执行的SQL语句和参数,并返回更新结果

公共int [] executeBatchUpdate(SQLBatchReady批处理)批处理更新(插入)

直接使用Connection public T executeOnConnection(OnConnection call),用户需要实现onConnection方法的调方法,例如调用存储过程

列用户= sql.executeOnConnection(new OnConnection(){

@Override

公用列表调用(连接conn)抛出SQLException {

CallableStatement cstmt = conn.prepareCall(“ {?=调用md5(?)}”);

ResultSet rs = callableStatement.executeQuery();

返回this.sqlManagaer.getDefaultBeanProcessors()。toBeanList(rs,User.class);

}

});

主服务器或从服务器的其他强制性使用如果为SQLManager提供了多个数据源,则默认情况下第一个是主数据库,其他是从库。更新语句将使用主数据库,查询语句将使用从属数据库。

可以强制SQLManager使用主服务器或从服务器

公共无效useMaster(DBRunner f)DBRunner中的beetlsql调用将使用主数据库库

公共无效useSlave(DBRunner f)DBRunner中的beetlsql调用将使用从属数据库库

对于普通事务,只读事务来自库,而写事务始终是主事务。有关主从支持,请参阅第17章。

在开发阶段生成Pojo代码和SQ片段,以根据表名生成Pojo代码和相应的sql文件

GenPojoCodeToConsole(String table),根据表名生成一个pojo类,并将其输出到控制台。

GenSQLTemplateToConsole(String table),生成查询,条件,更新sql模板,输出到控制台。

GenPojoCode(String table,String pkg,String srcPath,GenConfig config)根据表名称,包名称,生成路径和配置,生成pojo代码

GenPojoCode(String table,String pkg,GenConfig config)与上面相同,生成路径自动为项目src路径,或src / main / java(如果它是Maven项目)

GenPojoCode(String table,String pkg),与上面相同,使用默认生成配置

GenSQLFile(String table)与上面相同,但输出到项目并成为sql模板。 sql模板文件的位置在src目录或src / main / reources(如果是maven)项目中。

GenALL(String pkg,GenConfig config,GenFilter filter)生成所有pojo代码和sql模板,

GenBuiltInSqlToConsole(Class z)根据该类生成内置的添加,删除和更改,以检查SQL语句并将其打印到控制台

Sql.genAll(“ com.test”,新的GenConfig(),新的GenFilter(){

尔布尔值accept(String tableName){

If(tableName.equalsIgnoreCase(“ user”)){

返回true;

}别的{

返回false;

}

//返回false

}

});

第一个参数是pojo类包的名称。 GenConfig是用于生成pojo的配置,GenFilter是过滤。只有返回true的那些才会生成。如果GenFilter为null,则必须生成数据库中的所有表

警告,您必须小心覆盖最初编写的类和方法。不要轻易使用genAll。如果使用它,最好立即将其注释掉,或在genFilter中编写一些逻辑以确保不会生成所有代码。好的SQL模板文件

悲观锁lockSQLManager提供以下API来实现悲观锁,clazz对应于数据库表,主键是pk记录以实现悲观锁

公共T锁(等级clazz,对象pk)

等效于sql语句

从xx中选择*,其中id =?更新

必须在事务环境中使用lock方法才能生效。交易结束后,自动释放

软件特色:

便于使用

Beetl的简单易用类似于Javascript语法和习惯。通过半学习和半猜测,只需半小时即可掌握使用情况。拒绝其他模板引擎的不人道语法和习惯。它还支持html标记,使开发CMS系统更加容易

易于整合

Beetl可以轻松地与各种Web框架集成,例如Act框架,Spring MVC,Struts,Nutz,Jodd,Servlet,JFinal等。支持模板独立开发和测试,即在MVC架构中,即使没有M和C部分,可以开发和测试模板。

完美的表现

Beetl远远超过了主流Java模板引擎的性能(引擎性能是5-6倍,freemaker,JSP的2倍),在宏观上通过优化的呈现引擎,IO二进制输出,字节码属性访问增强,在微观上通过一维数组可以节省在上下文中,静态文本被合并,字节数组被重以防止Java频繁创建和破坏该数组。它还使用模板缓存,运行时优化和其他方法。

发效率高

无需注释,自动使用大量内置SQL,添加,删除,修改和检查功能轻松完成,节省了50%的开发工作量。数据模型支持Pojo,快速模型(例如Map / List)和混合模型。 SQL模板是基于Beetl实现的,它更易于编写,调试和扩展。可以为单个表(或视图)代码甚至整个数据库生成Pojo类和sql模板。可以减少编码的工作量。

易于维护的SQL

以更简洁的方式,Markdown方式集中管理,同时促进程序开发和数据库SQL调试。可以自动将sql文件映射到dao接口类。灵活而直观的支持支持一对一,一对多和多对多关系映射,而无需引入复杂的OR映射概念和技术。使用拦截器功能,您可以调试和诊断SQL性能,并扩展其他功能

其它功能

内置的开源工具支持主从数据库支持,支持跨数据库平台,并将开发人员所需的工作减少到最低限度。当前,跨数据库支持MySql,Postgres,Oracle,SQLServer,h2,SQLite,DB2,Clickhouse,HBase,Cassandar,Hive,TD-Engine,Drill,Presto,ignite,CouchBase等。

上一篇:大漠驼铃批量公式计算器 下一篇:工期计算器

应用截图

  • BeetSql截图(1)

相关专题

  • 天气软件

    电脑版桌面天气预报2016工具合集,久友下载站精心整理出来这套天气预报软件大全。天气软件哪个好?说到天气软件很多人可能了解最多的是手机上的天气软件,而天气软件电脑版上的软件却不了解。天气软件电脑版也是基于桌上,为用户提供最方便简洁的显示方式,有的是独立的天气软件,有的则包含日历功能,不过不管怎样,都能准确预报天气。喜欢可以来久友下载站下载。 更多详细 >

人气软件

  • 大猫学生多功能计算器 1.1.7免费版评分:4 

    下载

    大猫学生多功能计算器  1.1.7免费版大猫学生多功能计算器是一款非常适用于学生制作的计算工具,该计算器不仅包含普通科学计数器功能,还支持数学物理公式计算,帮你解决复杂公式,欢迎下载体验。 功能特色: 物理计算,包括时间速度路程、密度质量体积 ... 大小:112 KBMB  更新:09-24  类型:计算器类  国产软件  简体中文

  • 视倾角计算软件 1.1免费版评分:4 

    下载

    视倾角计算软件 1.1免费版视倾角计算软件是针对视倾角制作的一款计算工具。使用该软件,只需知道纵向比例、横向比例或纵横比以及岩层倾向、岩层墙角、剖面方向的数据,即可快速计算出视倾角的度数,省去了繁琐的计算步骤。 使用方法:   1、打... 大小:15 KBMB  更新:09-26  类型:计算器类  国产软件  简体中文

  • 粘贴钢板计算 1.1免安装版评分:4 

    下载

    粘贴钢板计算 1.1免安装版粘贴钢板计算软件是专为粘贴钢板加固开发的一款计算软件,依据混凝土结构加固技术规范制作。使用该软件,可以根据原始条件、梁加固条件的数据,计算出梁底钢板、梁面钢板、梁测U型钢板的宽度、厚度和高度,以及加固后裂... 大小:14 KBMB  更新:09-27  类型:计算器类  国产软件  简体中文

  • 奇巧年龄计算器 2.1最新版评分:4 

    下载

    奇巧年龄计算器 2.1最新版有时候我们只知道自己是多少岁,是一个大概的数字,如果想要精确到几分几秒的话,就可以用这款奇巧年龄计算器来计算我们所想知道的数字了 功能:   1、可根据生日日期准确详细的计算年龄、月龄,可以计算出生天数,且... 大小:200 KBMB  更新:09-29  类型:计算器类  国产软件  简体中文

  • 海鸥年龄计算器 2.1绿色免费版评分:4 

    下载

    海鸥年龄计算器 2.1绿色免费版海鸥年龄计算器是一款非常实用的年龄计算软件,用户使用该款软件能够根据生日日期准确详细的计算年龄以及月龄,计算出的结果能够精确到出生天数、分数以及秒数,需要的话可以下载体验下。 特色:   1、能够根据生日日... 大小:400 KBMB  更新:09-29  类型:计算器类  国产软件  简体中文

最新评论

软件分类

热门排行榜

回顶部 去下载