数据库
文章平均质量分 66
追寻上飞
进可攻前端,退可守后端,偶尔玩硬件。热爱新技术探索和研究。
全栈软件工程师,2021上半年获得软件设计师职业资格证书。阿里云博客专家。
展开
-
【棘手问题】Spring JPA一级缓存导致获取不到数据库表中的最新数据,对象地址不发生改变
这是因为 JPA 确保了基于主键的查询总是返回唯一的实体实例,而且主键是实体的唯一标识符。即使两个查询的条件不同,如果它们都返回同一个实体 ID,那么 JPA 会认为它们是相同的实体,并且返回同一个对象实例。这是 JPA 规范的行为,也是 Hibernate(JPA 的一个实现)的行为。这是因为 JPA 规范要求实体 ID 是唯一的,并且基于 ID 的查询总是返回唯一的实体。是一个标准的方法,它根据实体的主键(ID)来检索实体。这个方法的名字是任意的,但它后面的参数定义了查询的条件。原创 2024-03-08 19:43:42 · 1132 阅读 · 2 评论 -
【失之毫厘】解决引入Mybatis-plus的批量插入功能报Invalid bound statement (not found)错误
项目中使用两套ORM框架,其一是JPA;另一个是。思考一个问题,都是客户端访问数据库服务器,两者共存是符合逻辑的。并且两者各有其优缺点,可以互相弥补。原来的批量操作是通过JPA的接口,今天想尝试使用。原创 2023-03-18 17:06:56 · 894 阅读 · 1 评论 -
【摆正位置】巧用MySQL group by 进行月、周、季度趋势数据查询以及省市排名
软件部署的方式是应用服务器和数据库服务器分离安装。再从数据库获取数据时一定要考虑数据量,因为数据库连接归根结底是TCP连接,数据量大就是一个字节一个字节的传输。原创 2023-03-16 17:54:41 · 672 阅读 · 0 评论 -
【强强联合】使用MySQL UNION ALL功能解决同时显示两张表的数据问题,显示物联网设备地理位置和其它监控指标
应业主方需求,设备监控指标不要显示经纬度值,而是显示其对应的地理位置信息。但是设计的时候,多维度的设备监控指标是在一张表中存储,另一张表存储设备的经纬度值及其对应的地理位置。接到需求时,想着直接更改库表来完成需求,但是改动的地方太多,改完了还要进行测试,因此就多方寻找解决方案,后来灵机一动,想着MySQL应该有拼接的功能,就找到了UNION ALL指令。原创 2023-03-16 17:31:05 · 844 阅读 · 0 评论 -
【刨根问底】数据库插入数据时报 incorrect string value for column 异常,如何破?
在记录异常日志时,系统报 `incorrect string value for column`异常,一般情况下这个就是数据库字符集的问题。原创 2022-12-26 15:45:41 · 6031 阅读 · 0 评论 -
【鸠占鹊巢】MySQL保留字非法使用,导致数据插入不成功
和保留字列表,在开发中应掌握所应用的数据库版本对应的列表。),出现报错,要使得该冲突字段合法,要在字段上添加反引号。在实体类对象中,有一个字段用于比较大小,取字段名为。后来优化去掉了反引号,以为很美观,优化了个寂寞。在插入该实体对象到数据库中,出现如下报错,,原代码中该字段是这样声明的,,其关键字和保留字字列表参见。每个版本对应不同的关键字(是MySQL的保留字(原创 2022-11-07 19:16:19 · 1581 阅读 · 0 评论 -
系统权限管理功能设计研究
在日常生活中,遇到的应用系统,都会带有权限功能,用来约束我们访问系统的行为。一个好的权限功能,应该具是动态的、合理的以及安全的。无论使用哪一类ORM框架,是JPA还是Mybatis,都会有解析字符串的的工具函数,利用工具函数进行字段的拼接完成数据权限功能的设计。我们可以得到,封装拼接条件都是在执行该类型的方法前进行,统一根据某个字段进行筛选属于某个部门或个人的记录。一般地,可以将权限级别分为以下五类,基本可以涵盖对数据私密性的管控。指的是用户能够执行何种操作,包含对目录、菜单和按钮的操作。原创 2022-09-09 17:35:18 · 1140 阅读 · 0 评论 -
MySQL定时调用预置函数完成数据更新
该参数表示"当这个事件不会再发生的时候",即当单次计划任务执行完毕后或当重复性的计划任务执行到了ENDS阶段。编写需求业务的SQL语句,并进行测试,如将某个终端的数据整体后移3个月。同样的,给事件命名,事件菜单栏会出现刚保存的事件。的作用是使事件在执行完毕后不会被杀掉。在函数菜单栏能看到刚才保存的函数。查询MySQL事件计划是否开启。,参数设置为空,完成函数的创建。接着给对事件的调用周期进行设置。出现以下事件计划的详细信息,点击保存,给函数命名为。.........原创 2022-07-28 19:29:20 · 1090 阅读 · 0 评论 -
开源物联网平台ThingsBoard数据库40张数据表设计一览
1 遥测数据存放数据库表1.1 分表遥测数据存放表名为ts_kv,按照月份进行分表设计,如下图所示。1.2 字段遥测的数据类型有五种,包括:public enum DataType { STRING, LONG, BOOLEAN, DOUBLE, JSON;}最新遥测数据保存表名为ts_kv_latest,按照一张表的行数达到某个值进行上述分表操作。1.3 压缩键名字段key是数值,在表ts_kv_dictionary有其对应关系,当遥测数据中含有相应的键名时,在ts_k原创 2022-05-06 15:07:07 · 10200 阅读 · 4 评论 -
一种解决MySQL多表查询在多个条件下缺少数据集的方法,附带解决查询慢的问题
一种解决MySQL多表查询在多个条件下缺少数据集的方法,附带解决查询慢的问题一、问题分析二、解决方案三、引入其它问题四、引入其它问题一、问题分析有两张表,一个是历史数据表,包含设备地理位置等信息;一个是部门表,每个设备对应一个部门。网站前端需要显示所有的历史数据和对应的部门,按照原来的左连接查询方法,在20万条数据前提下,结果查询时间为150s。因为在该方法下将主表的历史数据和副表进行联合查询,需要全表遍历,这种方案在数据量小的情况下可以实施,但是数据库表达到了几十万条后,就不再适用。二、解决方原创 2021-07-16 10:23:45 · 857 阅读 · 0 评论 -
MongoDB名字起源(为什么叫MongoDB)
原文MongoDB was originally developed by MongoDB, Inc., which at the time (2007) was named 10gen. The company was founded by former DoubleClick founders and engineers, specifically Dwight Merriman, Kevin P. Ryan, and Eliot Horowitz.At first, 10gen wante.翻译 2021-06-24 16:01:48 · 1145 阅读 · 0 评论 -
MongoDB v4.4.6安装、创建服务及Web客户端访问MongoDB详解
前面的安装就按照mongodb4版本,windows下的安装与配置(史上步骤最全最详细+图解)进行安装即可,不再赘述。着重讲解的是如何通过配置文件进行服务的创建。1、安装环境OS: Windows10MongoDB: 4.4.62、了解MogoDB服务端的命令PS D:\mongdb\bin> .\mongod.exe -hOptions: --networkMessageCompressors arg (=snappy,zstd,zlib)原创 2021-06-22 11:13:45 · 1342 阅读 · 0 评论 -
强烈推荐大数据软件Splunk,用于分析日志文件
大数据软件Splunk,用于分析日志文件一、数据源二、数据类型三、软件一览四、小小实例1. 点击添加数据2. 点击监视3. 选择文件和目录4. 按照程序指引下一步5. 完成安装下载参见官网文章Install Splunk Enterprise,三种版本的支持一、数据源二、数据类型软件可以支持的数据类型有以下15种三、软件一览漂亮的界面+齐全的功能=无敌的软件四、小小实例数据源选择为文件和目录1. 点击添加数据2. 点击监视3. 选择文件和目录4. 按照程序指引下一步5原创 2021-04-08 16:23:41 · 500 阅读 · 0 评论 -
Win10配置免安装版本MySQL5.7.31
简单的下载过程就不再赘叙,直接进入配置步骤环节。1,在根目录下新建my.ini具体配置步骤参数如下。因为需要导入别的项目的数据库,这里指定了服务端、客户端字符集为utf8mb4。[mysql]port=3306default-character-set=utf8mb4[mysqld] # 设置为MYSQL的安装目录 basedir = D:\\mysql5.7.31port=3306character_set_server=utf8mb4sql_mode=NO_ENGINE_SUBS原创 2021-02-22 10:53:22 · 211 阅读 · 0 评论 -
Navicat筛选出所需数据并导成SQL脚本文件
选中某个数据库表,点击筛选按钮点击图中所框处选择按照哪个字段进行筛选点击图中所框处输入匹配的值点击应用按钮点击导出按钮,选择当前记录选择SQL脚本文件连续点击下一步即可完成SQL文件的生成,名字一般按照数据库表名生成的...原创 2020-12-24 14:51:39 · 2157 阅读 · 4 评论 -
Java JDBC连接数据库遇到的问题
SQL语句一定要有空格:当用字符串拼接SQL语句时,一定要保证语句间的空格!如下代码是正确的:"update fa_client_status set onlinestatus = 1 where idofbuilding =" + strings[0] +" and cellofbuilding =" + strings[1] + &a原创 2018-12-07 09:20:08 · 427 阅读 · 0 评论 -
Java存储数据库中时间戳和php操作数据库时间戳的关系
一直困扰我的问题,终于得到了解决!原先以为是自己系统问题(其实也可以确定自己的系统是64位),于是利用一下代码测试自己的系统是不是有问题,得到的结果是没问题的,但是就是无正确结果输出。于是解决问题途径是在strtotime()函数和date(format,time())函数之间徘徊。<?php//测试代码$date = '2040-02-01';$format = 'l j F Y ...原创 2018-10-18 16:21:19 · 377 阅读 · 0 评论