Bee
文章平均质量分 55
abckingaa
一个软件设计爱好者。主要项目经验集中在银行等金融领域,有10余年工作经历。对软件设计如何提高开发效率,提高易维护性,易扩展性,分布式系统、大数据量高可用、高并发系统有深入研究!
展开
-
ORM Bee 2.4.0.7支持LocalDateTime,支持TO_DATE()
13.MoreTable添加方法List selectString(T entity, Condition condition)5.自定义sql(PreparedSql)增加关联表名的方法,让自定义sql中,方法没带实体T的,也能纳入缓存管理。8.MapSql(MapSuid)支持使用Condition实现更加复杂的where条件,updateSet设值。MapSql增加方法: public void where(Condition condition);2.没有指定表名则不放缓存。原创 2024-07-16 22:23:00 · 959 阅读 · 0 评论 -
ORM Bee,如何使用Oracle的TO_DATE函数?
ORM Bee,如何使用Oracle的TO_DATE函数?select * from ORDERS where total between 20 and 94与select * from ORDERS where total>=20 and total原创 2024-07-11 00:44:22 · 264 阅读 · 0 评论 -
Sharding 分片配置实例
Sharding 分片配置实例才两张表就那么多,是不是感觉,太复杂了!来种简单的吧.原创 2024-06-30 23:00:16 · 398 阅读 · 0 评论 -
Maven发布代码,401错误问题解决,with status code 401
maven上传到中央仓库, SNAPSHOT库报以上401错误,是什么原因?3.若是在2024年6月前还正常上传, 在6月突然不行了. 很大原因是原来使用用户名,密码,现要在使用token了.注意, 使用旧的方式发布过代码的, 同样的maven坐标是不支持在新的方式重新登记namespace命名空间的. 即不能在旧的和新的都发布有同样坐标的代码.所以之前发布过的,报401,就不要折腾新方式了.原创 2024-06-23 23:52:10 · 1009 阅读 · 0 评论 -
Bee V2.4.0.6 查询结果支持自定义组装,多表关联操作增强,添加count等
11.添加查询结果自定义组装器ResultAssembler12.MoreTable添加方法:selectWithFun,count13.MoreTable添加方法List selectString(T entity, Condition condition)14.MoreTable多表关联update方法增强原创 2024-06-23 15:03:57 · 912 阅读 · 0 评论 -
MoreTable 方法selectWithFun,count 使用实例
example for MoreTable methods:selectWithFun,countMoreTable 方法selectWithFun,count 使用实例原创 2024-06-09 21:48:17 · 192 阅读 · 0 评论 -
使用ORM Bee时, Condition, SuidRich的方法中, 字段是否支持使用Orders::getName的形式,避免使用静态字段串写死字段值
使用ORM Bee时,Condition,SuidRich的方法中, 字段是否支持使用Orders::getName的形式,避免使用静态字段串写死字段值.可以使用V2.4.0 的ConditionExt和SuidRichExt需要引用BeeExt.原创 2024-06-09 21:36:14 · 211 阅读 · 0 评论 -
Bee 支持 与 mybatis-plus 混用吗?
Bee 支持 与 mybatis-plus 混用吗?你是在什么场景下要混用呢?mybatis-plus是基于mybatis.而Bee本身就是一个ORM框架了.Hibernate/MyBatis+ plus +Sharding JDBC + Jpa+ Spring data+ GraphQL+ App ORM (Android, 鸿蒙)= Bee。原创 2024-06-02 00:06:20 · 242 阅读 · 0 评论 -
ORM Bee数据源的使用, Bee有自己的数据源吗?
/只是测试,在开发/测试阶段,不想引入DruidDataSource也可以换成SimpleDataSource。生产上一般都是选用性能比较好的数据源工具,Bee内置实现的,主要是为了方便开发/测试;参考bee-exam工程,InitOtherDsAndMongoDsUtil。参考bee-exam工程,InitSameDsUtil.3. bee-spring boot 整合了相关的数据源。Bee实现了几种简单的数据源,用于开发/测试;原创 2024-03-14 19:28:00 · 382 阅读 · 0 评论 -
一文让你搞懂什么是表级锁什么是行级锁,什么情况下使用行级锁
select * from student for update 是表级锁还是行级锁,为什么分别列出MySQL,MariaDB,Oracle,H2,SQLite,PostgreSQL,SQL Server,Access使用DB的行锁和表锁的使用方法的例子?原创 2024-03-08 11:30:56 · 947 阅读 · 0 评论 -
一文让你搞懂什么是表级锁什么是行级锁,什么情况下使用行级锁
select * from student for update 是表级锁还是行级锁,为什么原创 2024-03-08 11:16:59 · 1056 阅读 · 0 评论 -
ORM三剑客——先入为主的Hibernate,Mybatis和后来者居上的Bee
Hibernate与Mybatis是很早就出现的ORM工具,难免给人先入为主的感觉;还有NoSQL DB,如MongoDB,Cassandra,让我们相互认识,相互选择,打造一款自已的ORM如意金箍棒。Bee是功能全面的ORM工具,除了支持传统的关系型DB,择其优点,避其缺点,此外,还加有自己的优点!原创 2024-02-21 12:09:32 · 442 阅读 · 0 评论 -
Bee V2.2 分库分表 Sharding+MongoDB ORM 稳定版发布 (更新 Maven)
5).InheritableThreadLocal 与 parallelStream () 不兼容的 bug, 当不是分片模式时,可以用 parallelStream (), 而分片时则不建议使用 parallelStream ()2.2 之前,调用批量插入在每个批都会提交 commit, 但在 2.2 改为只调用一次且在事务中,在批量插入的方法内容不再提交,而由事务控制。你还想添加什么功能,请到评论区告诉我们. 扣群 (4) 分片时,主线程的上下文要清除。3) 仅分库时,解决上下文问题。原创 2024-02-08 16:54:19 · 871 阅读 · 0 评论 -
Bee+SpringBoot稳定的Sharding、Mongodb ORM功能(同步 Maven)
5).InheritableThreadLocal 与 parallelStream () 不兼容的 bug, 当不是分片模式时,可以用 parallelStream (), 而分片时则不建议使用 parallelStream ()2.2 之前,调用批量插入在每个批都会提交 commit, 但在 2.2 改为只调用一次且在事务中,在批量插入的方法内容不再提交,而由事务控制。你还想添加什么功能,请到评论区告诉我们. 扣群 (4) 分片时,主线程的上下文要清除。3) 仅分库时,解决上下文问题。原创 2024-02-08 16:52:04 · 1159 阅读 · 0 评论 -
ORM Bee设计思想与功能思维导图
Bee,互联网新时代的Java ORM框架,支持Sharding;JDBC,Android,HarmonyOS;支持多种关系型数据库,还支持NoSQL的Cassandra,Mongodb等;更快、更简单、更自动,开发速度快,运行快,更智能!ORM Bee设计思想与功能思维导图原创 2024-01-18 22:33:02 · 816 阅读 · 0 评论 -
通过Field和通过Method给一个Javabean的字段设置值,有什么区别?性能上有差别吗?
总的来说,直接访问字段(Field)和调用setter方法(Method)在功能和性能上都有各自的特点,开发者需要根据具体的需求来选择合适的方式。2. 调用setter方法(Method):通过调用JavaBean中的setter方法来设置字段的值,这种方式会经过setter方法中的逻辑检查和处理,确保了JavaBean的一致性和完整性。在性能上,直接访问字段(Field)通常比调用setter方法(Method)要快,因为它避免了方法调用的开销。原创 2024-01-14 23:21:03 · 370 阅读 · 0 评论 -
工厂模式/抽象工厂模式的缺点及解决方法
如果需要增加新的产品,只需创建新的具体产品类和对应的具体工厂类,而不需要修改现有的客户端代码,符合开闭原则。如果需要增加新的实现类,只需要创建新的具体产品类和对应的具体工厂类,而不需要修改现有的客户端代码,符合开闭原则。抽象工厂模式可以创建一组相关或依赖的产品对象,而不需要指定它们的具体类。这样,当需要添加新的产品时,只需创建新的具体产品类和对应的具体工厂类,而不需要修改现有的代码。你说得对,如果产品的种类增加,那么工厂方法模式可能需要修改现有的代码来添加新的具体工厂类和产品类,这将违反开闭原则。原创 2024-01-14 23:19:42 · 444 阅读 · 0 评论 -
JAVA ORM Bee的设计模式分析
策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的。责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。模板模式(Template Pattern)装饰器模式(Decorator Pattern)原型模式(Prototype Pattern)建造者模式(Builder Pattern)策略模式(Strategy Pattern)工厂模式(Factory Pattern)原创 2024-01-14 23:18:45 · 480 阅读 · 0 评论 -
DynamoDB和Cassandra、MongoDB的比较
其实从开发的易用角度来讲,DynamoDB没有Cassandra和MongoDB强大,Cassandra有CQL可以做非常丰富的查询,MongoDB的查询功能也非常强大,而且后两者都提供Shell客户端,并有不少第三方开发的工具可以进行管理与使用。但个人认为,DynamoDB如果提供相应的SDK其实是可以解决这个问题的,就算MongoDB的开放接口相对DynamoDB更加复杂,开发者都是直接使用驱动(相当于SDK)进行开发,于是在开发应用上MongoDB远胜于DynamoDB。原创 2024-01-14 23:18:08 · 649 阅读 · 0 评论 -
如何在一个系统中同时访问异构的多种数据库
要是MySQL还使用了分库分表,那更加不得了,一大堆的组件都要配合着上,一时间整个系统的难度,复杂度就上来了。Bee可以轻松同时使用多个数据库,即使数据库是不同种类也可以.即支持同时使用多种不同类型的数据库.比如在一个系统中,要同时访问MySQL,H2, MsAccess, Mongodb.要是使用Hibernate, MyBatis这些ORM,难度简直不敢想像。如何在一个系统中同时访问异构的多种数据库。但如果用ORM Bee 就会简单多了.原创 2024-01-14 23:17:16 · 442 阅读 · 0 评论 -
Elasticsearch与关系型数据库的概念对比
从ELasticsearch7.x开始,include_type_name=false,表示已经移除了类型type的概念,但在使用过程中,仍需要在RESTful风格的url中,原本表示类型的那一层替换成_doc,至此【_doc】也被当成了是请求url涉及到类型type时的固定部分。从ELasticsearch6.x开始,Elasticsearch 引入了一个参数控制 type 开关:include_type_name=true,表示仍使用类型 type的概念。拓展:类型type的移除。原创 2024-01-14 23:13:21 · 412 阅读 · 0 评论 -
Java并行流parallelStream()下InheritableThreadLocal引起的问题
在并行流中,由于线程池的调度机制,父线程有可能会参与到并行流线程池的调度。如果父线程的上下文在某个时刻被清理,那么后续拷贝到子线程的上下文可能为空,导致上下文丢失的问题。原因在于并行流的设计比较特殊,父线程也有可能参与到并行流线程池的调度,那如果 方法被父线程执行,那么父线程的上下文会被清理。导致后续拷贝到子线程的上下文都为 null,同样产生丢失上下文的问题。可能会出现不同的行为,导致上下文丢失的问题。时,不会出现父线程上下文被清理导致的上下文丢失问题。在并行流场景下可能会出现上下文丢失的问题,而使用。原创 2024-01-05 23:48:56 · 721 阅读 · 0 评论 -
Bee的批量插入与事务使用
这样,在事务中,就不会因事务分多批造成事务不准确;* 所在Bee在2.2时,默认是所有批次的插入操作只提交一次,如插入100条,每批20条,2.2之前是提交了五次commit,在2.2时改为一次commit;* 若想在大批量插入时忽略违反约束的失败操作,使用回2.2之前的模式,可以使用配置:bee.osql.eachBatchCommit=true。在2.2之前,调用批量插入在每个批都会提交commit,但在2.2改为只调用一次且在事务中,在批量插入的方法内容不再提交,而由事务控制.通过实体创建表和约束。原创 2024-01-03 00:16:08 · 457 阅读 · 0 评论 -
一文搞懂数据库分片:分库分表,只分库不分表,只分表不分库...
默认是使用求余来映射,如orderid的值为10, 10%6=4,则表是orders4,再通过表来确定库是ds1(这样可以不用指定库的规则)。从日志也可以看出:ds0这个数据库里有表:orders0,orders1,orders2;参考Java ORM 工具Bee,一个简单易用又功能强大的ORM;ds1里有表:orders3,orders4,orders5;要整合一堆的工具,还不如只用一个小巧又功能强大的工具。如何通过orderid字段的值找到相应的表和库;分片键(分片字段是:orderid)原创 2024-01-02 00:42:01 · 1183 阅读 · 1 评论 -
【无标题】
spring boot 使用swagger, 一运行就报错。i.s.m.p.AbstractSerializableParameter - Illegal DefaultValue null for parameter type integer "java.lang.NumberFormatException: For input string: ""原创 2023-12-17 22:02:52 · 386 阅读 · 0 评论 -
MongoDB表的主键可以重复?!MongoDB的坑
想减少直接操作MongoDB带来的烦恼, 想 与使用MySQL一样高效地使用MongoDB,但仍要获取MongoDB的性能,有什么好法子呢?碰到一个奇怪的现象, MongoDB的一个表居然有两个一样的_id值!将它们的类型输出才发现,一个类型是ObjectId,一个是String.再次提交时,是会报主键冲突的。那上图,为什么会有两个一样的_id呢?, 让你像使用关系型数据库MySQL一样使用MongoDB。MongoDB表的主键可以重复?原创 2023-12-12 22:25:45 · 755 阅读 · 0 评论 -
可以操作Access的ORM工具,MS Access日期的坑
Access 开发VB的时候用过,但用在Java Web开发的确实不多。如果你要兼容旧系统,它就用到Access,那有什么好的方法?或用什么工具可以提高开发效率呢?如果你想减少直接操作Access带来的烦恼, 想 与使用MySQL一样高效地使用Access,有什么好法子呢?, 让你像使用关系型数据库MySQL一样使用Access。但作为参数,不能过滤成功,则试了三种日期类型都不可以;MS Access日期可以查询返回;原创 2023-12-12 22:24:48 · 416 阅读 · 0 评论 -
使用spring-boot-devtools时可能会引起缓存实体转换异常
使用JAVA ORM 工具,开启缓存时,会报相关的问题。最终发现是引用了 热部署插件引起,关闭了插件无影响;多次访问API接口时,会报底层实体转换异常排查,排查自己写的代码,及使用的框架,, 十分钟即可入门,强大也强大!原创 2023-12-12 22:24:07 · 595 阅读 · 0 评论 -
Java ORM Bee V2.1.x 功能列表介绍
Java ORM Bee V2.1.x 功能列表介绍原创 2023-12-11 23:16:10 · 389 阅读 · 0 评论 -
JAVA ORM Bee主要功能介绍
JAVA ORM Bee主要功能介绍原创 2023-12-11 23:14:44 · 403 阅读 · 0 评论 -
Mongodb与MySQL的异同,使用场景,优缺点。。。
总的来说,MongoDB适合于大数据量、高并发、非结构化数据场景,而MySQL适合于强一致性、复杂事务处理、关系型数据场景。选择哪种数据库取决于具体的应用需求和数据特点。MongoDB与MySQL是两种不同类型的数据库管理系统,它们在使用场景、优缺点和内在要求上有很大的不同。原创 2023-12-03 23:23:32 · 1811 阅读 · 0 评论 -
一致性哈希算法,hash(key)是负值时,会出现异常吗?
一致性哈希算法中,哈希函数hash(key)的返回值通常是一个非负整数。如果hash(key)返回负值,则可能会出现一些问题,例如无法正确地映射对象到哈希环上的位置,或者无法正确地找到离对象最近的虚拟节点。这样做可以保证hash(key)的返回值是一个非负整数,从而避免了出现异常。同时,这也不会影响一致性哈希算法的正确性,因为哈希函数只是用来将对象映射到哈希环上的位置,而与对象的具体值无关。其中,MAX_INT是一个足够大的正整数,可以是2的31次方或2的63次方等。原创 2023-12-03 23:21:14 · 733 阅读 · 0 评论 -
Java的悖论现象
private String para;在Java里,定义了一个字符串类型,名称是para。在程序里,你想要获取变量本身的名称却做不好。原创 2023-10-24 00:55:39 · 88 阅读 · 0 评论 -
H2创建表带注释的语法
H2创建表带注释的语法,不能使用类似mysql的语法。原创 2023-10-24 00:51:41 · 666 阅读 · 0 评论 -
spring boot开发微服务,时间错误的问题
h2里表的字段createtime值是:2021-07-27 11:01:23.184, 在Java程序里,查出来也是:2021-07-27 11:01:23.984, 但使用spring boot,@RestController 返回的数据,却是: "createtime": "2021-07-27 03:01:23",这可能是由于时区的差异导致的。在Java程序中,日期时间通常以UTC格式存储,而在Spring Boot中,默认情况下会使用服务器的时区来格式化日期时间。通过以上设置,还是会有问题。原创 2023-12-10 23:16:59 · 407 阅读 · 0 评论 -
Java ORM Bee,多表关联更新
如果子实体没有用上FK声明的字段(即@FK的字段没有值),则不执行,防止更新到多余记录。Bee V2.1.8 增加支持多表的update, insert, delete;外键有一个没有设置时,跳过。使用@FK注解进行关联.原创 2023-10-05 17:38:13 · 142 阅读 · 0 评论 -
如何将图片存到数据库(以mysql为例), 使用ORM Bee更加简单
此实例也演示了,如何设置inputStream, byte[]到数据库;另外,inputStream是可以设置到mysql的blob字段的。2. 生成Javabean。省略相应的get,set。如何将图片存到数据库。原创 2023-10-05 11:36:06 · 931 阅读 · 0 评论 -
Bee2.1.8支持Spring Boot 3.0.11,active命令行选择多环境,多表查改增删(bee-spring-boot发布,更新maven)
1.3 不启动应用,直接运行 main 方法,bee.properties 没有配置数据源时,也可以使用 application.properties 的 spring boot 单数据源配置。5. 提供默认的 BeeSimpleDataSource,支持在 bee.properties 里配置多数据源 (不使用 spring boot 时,也可以),9.GridFs 注解支持 SELECT 查询类型,当查询实体时,可以自动关联查出相应的文件 (MongoDB),GridFs 文件类型支持 byte []原创 2023-09-29 11:08:08 · 1003 阅读 · 0 评论 -
ORM Bee如何在配置文件里配置多数据源
ORM Bee如何在配置文件里配置多数据源。原创 2023-09-29 00:07:02 · 119 阅读 · 0 评论 -
spirng boot使用spring.profiles.active=dev运行,Bee自动选择active对应的配置文件
【代码】spirng boot使用spring.profiles.active=dev运行,Bee自动选择active对应的配置文件。原创 2023-09-21 18:07:50 · 477 阅读 · 0 评论