![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DB
abckingaa
一个软件设计爱好者。主要项目经验集中在银行等金融领域,有10余年工作经历。对软件设计如何提高开发效率,提高易维护性,易扩展性,分布式系统、大数据量高可用、高并发系统有深入研究!
展开
-
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 · 233 阅读 · 0 评论 -
HDFS,HBase,MySQL,Elasticsearch ,MongoDB分别适合存储什么特征的数据?
HDFS(Hadoop Distributed File System)通常用于存储大规模数据,适合存储结构化和非结构化数据,例如文本文件、日志数据、图像和视频等。HBase是基于Hadoop的分布式数据库,适合存储大量非结构化和半结构化的数据,例如日志数据、传感器数据、实时数据等。Elasticsearch是一种开源搜索引擎,适合存储和处理大规模文本数据和日志数据,适合进行全文搜索和复杂查询。MongoDB是一种文档型数据库,适合存储半结构化和非结构化数据,例如JSON格式的文档数据和实时数据。原创 2024-05-25 22:37:57 · 528 阅读 · 0 评论 -
一文让你搞懂什么是表级锁什么是行级锁,什么情况下使用行级锁
select * from student for update 是表级锁还是行级锁,为什么分别列出MySQL,MariaDB,Oracle,H2,SQLite,PostgreSQL,SQL Server,Access使用DB的行锁和表锁的使用方法的例子?原创 2024-03-08 11:30:56 · 939 阅读 · 0 评论 -
一文让你搞懂什么是表级锁什么是行级锁,什么情况下使用行级锁
select * from student for update 是表级锁还是行级锁,为什么原创 2024-03-08 11:16:59 · 1020 阅读 · 0 评论 -
MongoDB 查出包含有list的部分项的记录 all/in/and
MongoDB,acl是"admin", "root"时,用以下命令查:但是acl是"admin", "root","其它项";即多于列出那两项时,就查不出来;我想查包含有指定的两项时,就列出;可以多出其它项db.UserInfo.find({"acl": {$all: ["admin", "root"]}}) //至少同时包含有这两项的就查出db.UserInfo.find({"acl": {"$in": ["admin", "root"]}}) // 包含有这两项的,都查出;原创 2024-01-27 13:44:47 · 520 阅读 · 0 评论 -
ElasticSearch是数据库吗?如何是,它是属于NOSQL吗
ElasticSearch是一种开源的分布式搜索引擎,它不是传统意义上的数据库,但可以用作数据库的一部分。,具有高可扩展性和灵活的数据模型。因此,可以将ElasticSearch视为NoSQL数据库的一种属性。ElasticSearch属于。原创 2024-01-18 22:28:46 · 833 阅读 · 0 评论 -
DynamoDB和Cassandra、MongoDB的比较
其实从开发的易用角度来讲,DynamoDB没有Cassandra和MongoDB强大,Cassandra有CQL可以做非常丰富的查询,MongoDB的查询功能也非常强大,而且后两者都提供Shell客户端,并有不少第三方开发的工具可以进行管理与使用。但个人认为,DynamoDB如果提供相应的SDK其实是可以解决这个问题的,就算MongoDB的开放接口相对DynamoDB更加复杂,开发者都是直接使用驱动(相当于SDK)进行开发,于是在开发应用上MongoDB远胜于DynamoDB。原创 2024-01-14 23:18:08 · 625 阅读 · 0 评论 -
如何在一个系统中同时访问异构的多种数据库
要是MySQL还使用了分库分表,那更加不得了,一大堆的组件都要配合着上,一时间整个系统的难度,复杂度就上来了。Bee可以轻松同时使用多个数据库,即使数据库是不同种类也可以.即支持同时使用多种不同类型的数据库.比如在一个系统中,要同时访问MySQL,H2, MsAccess, Mongodb.要是使用Hibernate, MyBatis这些ORM,难度简直不敢想像。如何在一个系统中同时访问异构的多种数据库。但如果用ORM Bee 就会简单多了.原创 2024-01-14 23:17:16 · 435 阅读 · 0 评论 -
Elasticsearch的主要优点,缺点,应用场景
通过Elasticsearch的高性能和实时性,用户可以快速地搜索到所需的商品,并且可以根据不同的条件进行筛选和排序。同时,Elasticsearch的分布式架构可以保证系统的稳定性和可靠性,能够应对高并发的访问请求。易用性:Elasticsearch提供了简单易用的API和丰富的查询语言,使得开发人员可以快速上手并进行复杂的数据分析。硬件要求高:由于Elasticsearch需要处理大量的数据和请求,因此需要较高的硬件配置来保证系统的性能和稳定性。Elasticsearch的主要优点,缺点,应用场景。原创 2024-01-14 23:14:10 · 1308 阅读 · 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 · 401 阅读 · 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 · 451 阅读 · 0 评论 -
高并发场景DB设计原则,什么叫反范式?数据库反范式设计
反范式(denormalization)是指在数据库设计中,有意地冗余部分数据以提高查询性能的一种技术。这是一种与范式(normalization)相反的设计方法。原创 2024-01-02 00:42:59 · 427 阅读 · 0 评论 -
MongoDB表的主键可以重复?!MongoDB的坑
想减少直接操作MongoDB带来的烦恼, 想 与使用MySQL一样高效地使用MongoDB,但仍要获取MongoDB的性能,有什么好法子呢?碰到一个奇怪的现象, MongoDB的一个表居然有两个一样的_id值!将它们的类型输出才发现,一个类型是ObjectId,一个是String.再次提交时,是会报主键冲突的。那上图,为什么会有两个一样的_id呢?, 让你像使用关系型数据库MySQL一样使用MongoDB。MongoDB表的主键可以重复?原创 2023-12-12 22:25:45 · 726 阅读 · 0 评论 -
可以操作Access的ORM工具,MS Access日期的坑
Access 开发VB的时候用过,但用在Java Web开发的确实不多。如果你要兼容旧系统,它就用到Access,那有什么好的方法?或用什么工具可以提高开发效率呢?如果你想减少直接操作Access带来的烦恼, 想 与使用MySQL一样高效地使用Access,有什么好法子呢?, 让你像使用关系型数据库MySQL一样使用Access。但作为参数,不能过滤成功,则试了三种日期类型都不可以;MS Access日期可以查询返回;原创 2023-12-12 22:24:48 · 415 阅读 · 0 评论 -
Mongodb与MySQL的异同,使用场景,优缺点。。。
总的来说,MongoDB适合于大数据量、高并发、非结构化数据场景,而MySQL适合于强一致性、复杂事务处理、关系型数据场景。选择哪种数据库取决于具体的应用需求和数据特点。MongoDB与MySQL是两种不同类型的数据库管理系统,它们在使用场景、优缺点和内在要求上有很大的不同。原创 2023-12-03 23:23:32 · 1419 阅读 · 0 评论 -
数据库SQL中的三个语句:DROP、TRUNCATE 、DELETE 以上三种的区别? 效率?
与DROP和TRUNCATE不同,DELETE是可逆的,可以使用ROLLBACK语句来撤销删除操作。- TRUNCATE通常比DELETE更高效,因为它不会逐行删除数据,而是直接删除整个表中的数据。- 该操作同样是不可逆的,执行TRUNCATE语句会永久删除表中的所有数据。- 该操作是不可逆的,一旦执行DROP语句,表和其中的数据都将永久删除。- TRUNCATE也用于删除表中的数据,但保留表的结构。- DELETE用于删除表中的数据,但保留表的结构。- DROP用于删除整个表,包括表的结构和数据。原创 2023-12-03 23:15:18 · 820 阅读 · 0 评论 -
数据库派生属性?
通过对已有属性进行数学运算或逻辑运算得到的新属性。在使用派生属性时,需要注意其计算的准确性和效率,避免对数据库性能造成过大的影响。是指在数据库中通过计算、组合或转换已有属性得到的新属性。派生属性不是直接存储在数据库中,而是在需要使用时通过计算或查询得到。:通过对字符串类型的属性进行拼接、截取、替换等操作得到的新属性。通过对日期或时间类型的属性进行计算得到的新属性。例如,可以通过计算出生日期和当前日期之间的差值得到年龄属性。例如,可以通过对订单表中的订单金额进行求和得到总销售额属性。原创 2023-12-03 00:04:16 · 861 阅读 · 0 评论 -
update users set error_counter=error_counter+1 where username=‘admin‘ ;当error_counter=null时,会更新吗
如果error_counter列的值为NULL,那么error_counter+1的结果也是NULL,所以整个更新语句的结果就是将error_counter列的值更新为NULL。这并不是我们想要的结果。需要注意的是,不同的数据库系统可能有一些细微的语法差异或命名上的变化,所以在具体的数据库中使用这些方法时,可能需要参考该数据库的文档来了解具体的用法和语法。使用IFNULL函数:IFNULL函数在大多数数据库中都是可用的,它接受两个参数,如果第一个参数是NULL,则返回第二个参数,否则返回第一个参数的值。原创 2023-12-02 23:59:39 · 327 阅读 · 0 评论 -
分布式时代,数据库对同表union all及分页的优化
分布式时代,数据库对同表union all及分页的优化。原创 2023-10-24 00:56:34 · 249 阅读 · 0 评论 -
湖仓一体架构的特性
分析和查询:湖仓一体架构提供了数据分析和查询的功能,可以使用各种分析工具和查询语言对数据进行复杂的查询和分析操作,以获取有价值的信息和洞察。数据安全和隐私:湖仓一体架构提供了数据安全和隐私保护的功能,可以对数据进行加密、访问控制和数据脱敏等操作,以确保数据的安全性和隐私性。数据可发现性和共享性:湖仓一体架构提供了数据目录和元数据管理的功能,可以方便地查找和共享数据,提高数据的可发现性和可重用性。数据集成和处理:湖仓一体架构提供了数据集成和处理的功能,可以将不同来源的数据进行整合和转换,以便进行分析和查询。原创 2023-10-19 17:02:04 · 972 阅读 · 0 评论 -
H2创建表带注释的语法
H2创建表带注释的语法,不能使用类似mysql的语法。原创 2023-10-24 00:51:41 · 594 阅读 · 0 评论 -
从磁盘刷新频率,文件大小,重启性能,数据安全,等五方面对比 RDB 备份和 AOF 备份的区别,并说明项目最终使用 RDB 的原因
从磁盘刷新频率,文件大小,重启性能,数据安全,等五方面对比 RDB 备份和 AOF 备份的区别,并说明项目最终使用 RDB 的原因原创 2023-10-24 00:53:44 · 209 阅读 · 0 评论 -
如何将图片存到数据库(以mysql为例), 使用ORM Bee更加简单
此实例也演示了,如何设置inputStream, byte[]到数据库;另外,inputStream是可以设置到mysql的blob字段的。2. 生成Javabean。省略相应的get,set。如何将图片存到数据库。原创 2023-10-05 11:36:06 · 917 阅读 · 0 评论 -
MS Access数据库多数据源JDBC查询
【代码】MS Access数据库多数据源JDBC查询。使用java查询数据路由到数据源可支持类的包名限定,直接指定,分片等原创 2023-01-24 00:12:16 · 1822 阅读 · 0 评论 -
Mongodb Sharding分片查询,带分页功能(ORM Bee)
表示有两个分片ds0,ds1;基本表名是:orders, ds0中有orders0,orders1,orders2;fullNodes: {orders={ds0=[0, 1, 2], ds1=[3, 4, 5]}}本文手把手教你,使用ORM面向对象的方式,进行Mongodb Sharding分片查询。说明:根据条件,会查询到三条数据(分别在三个不同的分片),然后一页只返回2条记录。userid为分片键,需要设置。1、在bee.properties里添加配置。以下为对Orders实体分片的配置,简单易用。原创 2023-01-11 23:41:52 · 414 阅读 · 0 评论 -
Mongodb常用数据类型
Mongodb常用数据类型原创 2022-12-11 21:58:02 · 392 阅读 · 0 评论 -
NoSQL mongodb与标准SQL RDB概念对比
NoSQL mongodb与标准SQL RDB概念对比Mongodb常用数据类型原创 2022-12-11 21:58:11 · 129 阅读 · 0 评论 -
mongodb如何删除集合(表)的所有数据
其实这种做法,是很危险的.试想,要是在生产环境,错误操作,所有用的数据都删了,那可不行.看看一个小巧易用的ORM框架, 十分钟即可入门, 还可以防止误删除.mongodb的语法,比起SQL还是费劲许多.设置不允许删除整个集合(表)的数据,即可.//是将整个集合包含结构删除.但filter不能为null.注: 返回-1, 表示有异常。原创 2022-12-11 21:44:29 · 4031 阅读 · 0 评论 -
mongodb与java驱动版本之间的支持关系
mongodb与java驱动版本之间的支持关系原创 2022-11-24 23:56:06 · 2266 阅读 · 0 评论 -
使用JDBC访问微软Access数据库实例
更快、更简单、更自动,开发速度快,运行快,更智能!// access由于access并不是作为一项服务运行,所以url的方法对他不适用。使用JDBC,需要自己写sql语句, 自己写获取字段结果的代码, 这种代码可以交给ORM去完成.// 实际上,是可以使用 纯JDBC驱动访问access的。是否可以使用JDBC访问, 网上的说法不一, 也很少有实例参考.之前有使用ODBC来访问Access的,但不方便.以下是使用ORM Bee查询的结果.有需要的伙伴可到Q群里问.原创 2022-11-04 23:53:17 · 1120 阅读 · 0 评论 -
Bee使用postgresql数据库插入记录后返回ID值
Bee使用postgresql数据库插入记录后返回ID值Bee支持生成分布式全局唯一ID,是Long型数据;1.17开始支持Integer,String,UUID的ID值。此文演示返回由DB生成的ID;postgresql旧版驱动不支持返回插入记录的ID(数据库生成); 此时,可使用Bee返回由Bee生成的id.使用以下驱动依赖,可以返回记录ID(DB生成)。......原创 2022-08-04 16:21:38 · 732 阅读 · 0 评论 -
模糊查询like用法实例(Bee)
V1.11及之前版本,使用Op.like,需要判断值是否为空字段,是否只含有匹配符(%和_)Op.like可以创建比左右匹配更复杂的模糊查询,但需要防止,最终的值只包含有匹配符(%和_)在V1.17( 1.17.0.9) 中,能明确%使用在左还是右,还是同时使用在左右, 则应该选用:likeLeft,likeRight,likeLeftRight;Bee框架会对这三种用法的值进行转义(匹配符%,由框架添加), 转义后值中的%(如果有),只代表符号%.where 条件中,不建议只使...原创 2022-07-30 16:43:37 · 1957 阅读 · 0 评论 -
ORM同时使用不同数据源和不同命名转换
同时使用不同数据源和不同命名转换实例.比如:mysql使用: DBJava,eg: order_noorderNo.oracle使用:DBJava,eg: ORDER_NOorderNo.可参考该实例原创 2022-07-26 09:06:36 · 248 阅读 · 0 评论 -
MySQL存储引擎大全
MySQL存储引擎大全原创 2022-07-19 22:05:40 · 275 阅读 · 0 评论 -
Bee常用配置
Bee常用配置原创 2022-06-29 23:39:55 · 214 阅读 · 0 评论 -
鸿蒙HarmonyOS 数据库结果集ResultSet介绍
鸿蒙HarmonyOS 数据库结果集ResultSet介绍查询结果集的使用关系型数据库提供了查询返回的结果集ResultSet,其指向查询结果中的一行数据,供用户对查询结果进行遍历和访问。ResultSet对外API如下所示。类名接口名描述ResultSetboolean goTo(int offset)从结果集当前位置移动指定偏移量。ResultSetboolean goToRow(int position)将结果集移动到指定位置。ResultSetboolean goToNextRow()将结果集向后移原创 2022-06-16 15:25:44 · 474 阅读 · 0 评论 -
鸿蒙HarmonyOS事务
鸿蒙HarmonyOS事务关系型数据库提供事务机制,来保证用户操作的原子性。对单条数据进行数据库操作时,无需开启事务;插入大量数据时,开启事务可以保证数据的准确性。如果中途操作出现失败,会自动执行回滚操作。类名接口名描述RdbStorevoid beginTransaction()开启事务。RdbStorevoid markAsCommit()设置事务的标记为成功。RdbStorevoid endTransaction()结束事务。当调用此方法前若执行markAsCommit方法,事务会提交,否则事务会自动原创 2022-06-16 01:27:15 · 169 阅读 · 0 评论 -
Gradle实例: Eclipse生成Gradle工程并访问数据库(Bee)
一、生成Gradle工程默认不一样的有这个选项。 要装相应gradle插件。然后 一步步根据提示点。最后生成两个工程工程-lib其实是在我们命名的工程目录下的lib文件夹。二、添加相应依赖在BeeGradleExam-lib工程的 build.gradle 文件,找到dependencies {}添加:然后,点击工程右键, 选择:Gradle--> Refresh Gradle Project就会下载相应的依赖jar包。三、编写代码1、查询举例,查询订单表Orders的数据其中Orders是表对原创 2022-06-14 11:54:42 · 409 阅读 · 0 评论 -
(三十七)Bee如何同时使用不同数据源实例
Bee如何同时使用不同数据源实例??除了使用在配置不同数据源所对应的表和javabean实体的包规则外(如在bee.properties配置),在Bee V1.11 还提供了直接指定数据源.如以下的例子, ds1是配置好了为mysql的数据源. 然后通过:mysqlSuidRich.setDataSourceName("ds1");完整例子如下:参考:src/main/java/org/teasoft/exam/bee/osql/ds/TwoDiffDsWithSet.java · autom原创 2022-06-12 07:21:54 · 336 阅读 · 0 评论 -
字符串包含有单引号时SQL如何写
表的数据如何, 下个包含有单引号,一个包含有双引号.测试使用mysql 和navicat.测试过连续使用两个单引号作为分隔没用.sql语句如下:若使用,像ORM Bee这种框架, 是没有自己手动转义的, 框架会自动完成....原创 2022-06-08 01:43:03 · 460 阅读 · 1 评论