草庐IT

Bee1.17同时支持JDBC,安卓和鸿蒙;SQL Server分页,JPA支持(同步Maven)

abckingaa 2023-10-08 原文

Bee1.17同时支持JDBC,安卓和鸿蒙;SQL Server分页,JPA支持(同步Maven)

ORM Bee同时支持JDBC,安卓Android和鸿蒙HarmonyOS;比传统ORM有更好的运行性能;SQL Server分页全面支持;

在 Harmony 和 Android 两个环境 , 可以用同一套 Bee 代码访问 DB, 提高代码重用,节省人力物。

Bee,互联网新时代的 Java ORM 工具,更快、更简单、更自动,开发速度快,运行快,更智能!

更新功能列表:

V1.17 (2022・中秋)

新增功能:
1)SqlServer支持start,size两个参数分页
2)事务注解Tran及提供与AOP协调的默认实现;支持在类级别使用

3)支持Android(安卓)直接使用Bee访问SQLite数据库;Bee增加Android ORM功能.
4)支持HarmonyOS(鸿蒙)直接使用Bee访问SQLite数据库;Bee增加HarmonyOS ORM功能. 在Harmony和Android两个环境,可以用同一套Bee代码访问DB,提高代码重用,节省人力物力!
5)支持Android日志:android.util.Log
6)支持HarmonyOS日志:ohos.hiviewdfx.HiLog

7)主键支持名称不叫"id",类型除了Long,可以是Integer或String
8)支持用注解定义主键自动生成,主键值生成注解:GenId,GenUUID
9)@Column添加默认实现(强烈建议:在新系统中不要使用该注解)
10)@Table,@Column,@PrimaryKey(@Id),@Ignore(@Transient)可以兼容JPA相应注解(在AnnoAdapter接口定义)
11)字段名称引用类(默认格式:实体名_F(自动生成))增加ALL_NAMES属性,可一次获取实体的所有字段值
12)Ddl.java支持创建索引(normal,unique),联合主键
13)动态获取JdbcToJavaType
14)命名转换增加种类4(DbUpperAndJavaLower):数据库使用大写字母,Java使用小写字母;忽略大小写,使用的字符是一样的
15)同时使用多种命名时,缓存添加TranslateType部分
16)分布式id生成器,支持设置起始年份:bee.distribution.genid.startYear

优化与增强:
1)增强:GenBean生成Javabean,当id是BigDecimal时,重置为Long型

2)优化GenBean,支持都使用默认配置
3)Ddl: 优化创建表流程
4)多数据源环境下,增加日志提示当前使用的是哪个数据源名称
5)分页查询,当获取一页的数据量size为0时,直接返回emptyList
6)增强:SQLite日期类型 (date) 匹配转换支持
7)优化缓存
8)condition.op(fieldName, Op.in, Value)增加支持List,Set,Number Array,单个Number元素
9)condition.opOn(fieldName, Op.in, Value) Value限定只支持Number和String
10)增强:like;Op添加likeLeft,likeRight,likeLeftRight(参数值由框架负责转义);打印SQL日志作相应转义
11)增强:ExcelReader数据列数目动态计算
12)增强:SQLite日期类型 (date) 匹配转换支持
13)链式编程SelectImpl,UpdateImpl调整字段检测.

fixed bug: 1)level 2缓存判断;TypeHandlerRegistry返回值类型转换
2)拦截器对象不使用原型模式产生脏数据,改为原型模式

参考实例(部分):

Android 环境使用 Bee 

https://my.oschina.net/u/4111850/blog/5538992

HarmonyOS 鸿蒙使用 ORM Bee 访问数据库实例

https://my.oschina.net/u/4111850/blog/5542608

Bee 事务注解 @Tran 使用实例

https://my.oschina.net/u/4111850/blog/5561350

Bee 的约定与自定义

https://my.oschina.net/u/4111850/blog/5551862

同时使用不同数据源和不同命名转换实例

https://my.oschina.net/u/4111850/blog/5558755

模糊查询 like 用法实例 (Bee)

https://my.oschina.net/u/4111850/blog/5560414

更多使用实例:

https://gitee.com/automvc/bee-exam

https://github.com/automvc/bee-exam

Bee 架构图:

Bee 是一个简单,易用,功能强大,开发速度快,编码少的 JAVA ORM 框架。连接,事务都可以由 Bee 框架负责管理. Bee 简化了与 DB 交互的编码工作量,是 编码复杂度 为 O(1) 的 Java 框架!

(技术交流 扣群:992650213 ; 更多设计思想,请关注微信公众号:软件设计活跃区)

Bee 简单易用:单表操作、多表关联操作,可以不用写 sql, 极少语句就可以完成 SQL 操作;概念简单 ,10 分钟即可入门。
Bee 功能强大:复杂查询也支持向对象方式,分页查询性能更高,一级缓存即可支持个性化优化;具有分布式特性。高级要求,还可以方便自定义 SQL 语句

下期功能预告:

Bee 2.0 Shading 具有分片功能的分库分表 ORM, 即将要与大家见面了!期待大家的踊跃参与!

码云上的项目首页:

bee: Bee,互联网新时代的Java ORM框架,更快、更简单、更自动,开发速度快,运行快,更智能!

bee-springboot: Bee整合Spring Boot,让你瞬间拥有两样快速开发利器!

github:

https://github.com/automvc/bee

 

有关Bee1.17同时支持JDBC,安卓和鸿蒙;SQL Server分页,JPA支持(同步Maven)的更多相关文章

  1. ruby - 每个页面上的 Jekyll 分页 - 2

    据我们所知,Jekyll默认分页仅支持index.html,我想创建blog.html并在那里包含分页。有什么解决办法吗? 最佳答案 如果您创建一个名为/blog的目录并在其中放置一个index.html文件,那么您可以向_config.yml表示paginate_path:"blog/page:num"。不是使用根文件夹中的默认index.html作为分页器模板,而是使用/blog/index.html。分页器将根据需要生成类似/blog/page2/和/blog/page3/的页面。这将使您到达yourwebsite.com/b

  2. ruby - 使用 ruby​​ gem net-ssh-multi 同时在多个服务器上执行 sudo 命令 - 2

    在previousquestion中我想出了如何在多个服务器上启动经过密码验证的sshsession来运行单个命令。现在我需要能够执行“sudo”命令。问题是,net-ssh-multi没有分配sudo需要运行的伪终端(pty),导致以下错误:[127.0.0.1:stderr]sudo:sorry,youmusthaveattytorunsudo根据documentation,可以通过调用channel对象的方法来分配伪终端,但是,以下代码不起作用:它会生成上面的“notty”错误:require'net/ssh'require'net/ssh/multi'Net::SSH::Mul

  3. ruby - 如何使用 readline 支持重新安装 ruby​​? - 2

    我已经按照https://github.com/wayneeseguin/rvm#installation上的说明通过RVM安装了Ruby.有关信息,我有所有文件(readline-5.2.tar.gz、readline-6.2.tar.gz、ruby-1.9.3-p327.tar.bz2、rubygems-1.8.24.tgz、wayneeseguin-rvm-stable.tgz和yaml-0.1.4.tar.gz)在~/.rvm/archives目录中,我不想在任何目录中重新下载它们方式。当我这样做时:sudo/usr/bin/apt-getinstallbuild-essent

  4. ruby-on-rails - "undefined method ` stub_request '"访问 RSpec 支持文件中的方法时 - 2

    我的Ruby-on-Rails项目中有以下文件结构,用于规范:/spec/msd/serviceservice_spec.rb/support/my_modulerequests_stubs.rb我的request_stubs.rb有:moduleMyModule::RequestsStubsmodule_functiondeflist_clientsurl="dummysite.com/clients"stub_request(:get,url).to_return(status:200,body:"clientsbody")endend在我的service_spec.rb我有:re

  5. ruby - Ruby 是否支持逐字字符串? - 2

    Ruby是否支持(找不到更好的词)非转义(逐字)字符串?就像在C#中一样:@"c:\ProgramFiles\"...或者在Tcl中:{c:\ProgramFiles\} 最佳答案 是的,您需要在字符串前加上%前缀,然后是描述其类型的单个字符。你想要的是%q{c:\programfiles\}。镐书很好地涵盖了这一点here,部分是通用分隔输入。 关于ruby-Ruby是否支持逐字字符串?,我们在StackOverflow上找到一个类似的问题: https:/

  6. ruby - 在 Ruby 1.8 中支持 Ruby 1.9 的哈希语法 - 2

    我正在编写一个Rubygem,在我的代码中使用{key:'value'}哈希语法。我的测试都在1.9.x中通过,但我(可以理解)在1.8.7中得到syntaxerror,unexpected':',expecting')'。是否有支持1.8.x的最佳实践?我是否需要使用我们的老friend=>重写代码,还是有更好的策略? 最佳答案 我认为你运气不好,如果你想支持1.8,那么你必须使用=>。像往常一样,我会提到在1.9的某些情况下您必须使用=>:如果键不是一个符号。请记住,任何对象(符号、字符串、类、float……)都可以是Ruby哈

  7. ruby - 无法激活 susy-2.1.1,因为 sass-3.2.17 与 sass 冲突 (~> 3.3.0) - 2

    我已经安装了最新版本的compass、sass和susy。但我仍然收到此错误:Unabletoactivatesusy-2.1.1,becausesass-3.2.17conflictswithsass(~>3.3.0)有人知道这个Ruby是如何工作的吗?这是我安装的gem的列表:***LOCALGEMS***CFPropertyList(2.2.0)chunky_png(1.3.0)compass(0.12.4)compass-core(1.0.0.alpha.19)compass-import-once(1.0.4)compass-rails(1.1.3)fssm(0.2.10)l

  8. ruby-on-rails - Rails 是否支持监听 UDP 套接字的简洁方式? - 2

    在Rails中,什么是集成更新模型某些元素的UDP监听过程的最佳方式(特别是它将向其中一个表添加行)。简单的答案似乎是在同一个进程中使用UDP套接字对象启动一个线程,但我什至不清楚我应该在哪里做适合Rails方式的事情。有没有一种巧妙的方法来开始收听UDP?具体来说,我希望能够编写一个UDPController并在每个数据报消息上调用一个特定的方法。理想情况下,我希望避免在UDP上使用HTTP(因为它会浪费一些在这种情况下非常宝贵的空间),但我完全控制消息格式,因此我可以为Rails提供它需要的任何信息。 最佳答案 Rails是一个

  9. Ruby:net/http 可以同时发起 GET 和 POST 请求吗? - 2

    是否可以同时传递GET和POST参数?uri=URI.parse("http://www.example.com/post.php?a=1&b=2")req=Net::HTTP::Post.new(uri.path,{'Referer'=>"http://www.example.com/referer",'User-Agent'=>"Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1)",'Cookie'=>$cookie})req.set_form_data({'foo'=>'bar','bar'=>'foo'})http=Net::HTTP.ne

  10. ruby - 在 Maven 集成中运行 Ruby 单元测试 - 2

    有没有人有在Maven中运行用Ruby编写的单元测试的经验。任何输入,如要使用的库/maven插件,将不胜感激!我们已经在使用Maven+hudson+Junit。但是我们正在引入Ruby单元测试,找不到任何同样好的组合。 最佳答案 我建议让Maven使用ExecMavenPlugin启动rake测试(exec:exec目标)并使用ci_reportergem生成单元测试结果的XML文件,Hudson、Bamboo等可以读取该文件,以与JUnit测试相同的格式显示测试结果。如果您不需要使用mvntest运行Ruby测试,您也可以只使

随机推荐