【SpringBoot_Project_Actual combat】 Summary of Project experience_需要考虑的问题
无论是初学者还是有经验的专业人士,在学习一门新的IT技术时,都需要采取一种系统性的学习方法。那么作为一名技术er,你是如何系统的学习it技术的呢。
一、DB Problems
- 数据库数据类型与java中数据类型对应问题?
MySql数据库和java中数据类型的对应关系:
类型名称
source
( ఠൠఠ )ノ~source-笔记:MySql数据库和java中数据类型的对应关系
关于Mysql中如何选用这BigDecimal和double
- 首先与java不同的是mysql是用来持久化数据的,而java中使用的数据一般更多的是过一下内存;
- 数据库都要除了指定数据类型指外还需要指定精度,因此在DB中Double计算时精度的丢失比Java高得多;
因为Java默认精确到15-16位了;- 更改数据类型的成本,Mysql比Java代码要难得多;考虑到以上与java中不同几点,做点个人使用总结:
- 与商业金融相关字段要使用Decimal来表示,如金额,费率等字段;
- 参与各类计算如加,减,乘,除,sum,avg等等,也要使用Decimal;
- 经纬度,可以使用double来表示,这个可参考Java,只要保证精度范围即可;
- 如果确实不确定使用什么double或Decimal哪种类型合适,那最好使用Decimal,毕竟稳定,安全高于一切;
原文链接
贴贴-java.sql.Types,数据库字段类型,java数据类型的对应关系
二、关于“创建时间”&&“更新时间”问题
MySQL数据库之MySQL自动设置字段create_time和update_time
reference structurecreate table `product`( `id` BIGINT(20) not null AUTO_INCREMENT COMMENT '', `name` varchar(20) DEFAULT NULL COMMENT '', `price` decimal(10,2)DEFAULT NULL COMMENT '', `description` varchar(255) DEFAULT NULLCOMMENT '', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) );
Scheme 1
当我们创建业务表的时候 通常都需要设置create_time 和 update_time 但是通常需要在代码中设置好时间后再插入数据库;
-
CURRENT_TIMESTAMP
字段设置后 当insert数据时 mysql会自动设置当前系统时间 赋值给该属性字段 -
ON UPDATE CURRENT_TIMESTAMP
字段设置后 当update数据时 并且 成功发生更改时 mysql会自动设置当前系统时间 赋值给该属性字段 -
create_time
设置CURRENT_TIMESTAMP
属性 -
update_time
设置ON UPDATE CURRENT_TIMESTAMP
属性
我们在代码中 就无需再手动给这两个参数赋值 节省了一定代码量
————————————————
直接在数据库中设置默认字段
创建的时候设置当前时间
·
DEFAULT CURRENT_TIMESTAMP
更新的时候设置更新时间为当前时间
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Scheme 2
编写代码实现;需要编写代码
通常用于表建好了,突然发现还需要给字段自动设置系统时间,此时可使用代码来实现此功能/效果。
- 在product实体类中添加新属性
private Timestamp mqttTime
; - 获取当前时间存入数据库:
Date date=new Date();
String nowTime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
Timestamp timestamp = Timestamp.valueOf(nowTime);//时间转换 java.util.Date是java.sql.Date的父类
- 然后把这个timestamp 存入数据库
objectName.setMqttTime(timestamp);
application sence
应用场景:
1、在数据表中,要记录每条数据是什么时候创建的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录创建时间;
2、在数据库中,要记录每条数据是什么时候修改的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录修改时间;
achievement
实现方式:
1、将字段类型设为 TIMESTAMP
2、将默认值设为 CURRENT_TIMESTAMP
article–mysql
tips
在 MySQL 中,datetime 数据类型支持使用 CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP。
例如,您可以在创建表时将 CURRENT_TIMESTAMP 用作默认值:
CREATE TABLE my_table (id INT PRIMARY KEY,created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
在这个例子中,如果没有为 created_at 列提供值,则会将当前时间作为默认值添加到该列中。 您还可以在定义列时使用 ON UPDATE
CURRENT_TIMESTAMP,以在更新行时自动将当前时间添加到 datetime 类型的列中:
CREATE TABLE my_table (id INT PRIMARY KEY,updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
在这个例子中,每次更新行时都会将当前时间添加到 updated_at 列中。如果未更新 updated_at 列,则其值将保持不变。
请注意,在 MySQL 5.6.5 及更高版本中,timestamp 类型也支持使用 DEFAULT CURRENT_TIMESTAMP 和
ON UPDATE CURRENT_TIMESTAMP。但是,timestamp 类型与 datetime
类型略有不同,因此使用时需要特别小心.
datetime 和 timestamp 区别
datetime 和 timestamp 都是 MySQL
中用于存储日期和时间的数据类型。它们都可以存储相同的日期和时间值,但它们有一些关键的区别。存储空间:在 MySQL 中,timestamp 类型采用 4 字节存储空间,而 datetime 类型采用 8 字节。
范围:datetime 类型可以存储从 1000 年到 9999 年的日期和时间,而 timestamp 类型仅能存储从 1970 年到
2038 年的日期和时间。这是因为 timestamp 类型使用 Unix 时间戳来存储日期和时间,并且 Unix 时间戳只能表示从
1970 年 1 月 1 日至 2038 年 1 月 19 日之间的时间。精度:datetime 类型的精度为秒级别,而 timestamp 类型的精度为毫秒级别。
综上所述,如果您需要存储较早或较晚的日期和时间,则应该使用 datetime 类型。另外,如果您需要更高的精度,则应该使用
timestamp 类型。如果您不确定哪种类型更适合您的需求,请根据您的具体情况进行选择。
三、学习时的具体操作
提示:可介绍你是如何建立基础知识、实际操作、进行整理和总结的
四、如何巩固学习
提示:可阐述你是如何形成更系统和清晰的知识体系并进行回顾的
提醒:以上内容仅做参考,可自行发散。在发布作品前,请把不需要的内容删掉。
相关文章:

【SpringBoot_Project_Actual combat】 Summary of Project experience_需要考虑的问题
无论是初学者还是有经验的专业人士,在学习一门新的IT技术时,都需要采取一种系统性的学习方法。那么作为一名技术er,你是如何系统的学习it技术的呢。 一、DB Problems 数据库数据类型与java中数据类型对应问题? MySql数据库和java…...

恒容容器放气的瞬时流量的计算与合金氢化物放氢流量曲线的计算
有时候,你会遇到一个问题,该问题的描述如下: 你有一个已知体积的容器,设容器体积为V,里面装有一定压力(初始压力)的气体,如空气或氢气等,设初始压力为1MPa,容器出口连接着一个阀门开…...
网络编程_UDP通信
网络编程_UDP通信 1. TCP与UDP2. 使用UDP通信3. sendto与recvfrom、recv4.实例实例1: 服务器接收、客户端发送实例2:服务器收发、客户方发送、接收。1. TCP与UDP 当使用网络套接字通信时, 套接字的“域”都取AF_INET; 套接字的type: SOCK_STREAM 此时,默认使用TCP协议进行…...

windows修改Pycharm的右键打开方式
title: windows中open floder as Pycharm太长了怎么修改 date: 2023-06-04 author: IoT_H2 tags: windows系统问题 categories: Markdown 问题描述: Pycharm这一栏这么长,长的我实在是很难受,事实上Jetbrains家的软件都是这个鸟模样 导…...
Python入门(十四)函数(二)
函数(二) 1.传递实参1.1 位置实参1.2 关键字实参1.3 默认值 作者:xiou 1.传递实参 函数定义中可能包含多个形参,因此函数调用中也可能包含多个实参。向函数传递实参的方式很多:可使用位置实参,这要求实参…...

Allure测试报告定制全攻略,优化你的Web自动化测试框架!
目录 前言: 1. Allure测试报告简介 2. Web自动化测试框架简介 3. 封装Web自动化框架 3.1 安装Selenium 3.2 封装Selenium 3.3 定制Allure测试报告 3.3.1 适配翻译插件 3.3.2 定制测试报告样式 4. 示例代码 5. 总结 前言: 随着现在Web应用的普…...

推荐系统算法详解
文章目录 基于人口统计学的推荐算法用户画像 基于内容的推荐算法相似度计算基于内容推荐系统的高层次结构特征工程数值型特征处理类别特征处理时间型特征处理统计型特征处理 推荐系统常见反馈数据基于UGC的推荐TF-IDFTF-IDF算法示例1. 引入依赖2. 定义数据和预处理3. 进行词数统…...

企业网站架构部署与优化之LAMP
LAMP LAMP概述1、各组件的主要作用2、各组件安装顺序 编译安装Apache http服务编译安装MySQL服务编译安装PHP解析环境安装论坛 LAMP概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供静态和动态Web站点服务…...

攻防世界安卓逆向练习
文章目录 一.easy-so1. jadx分析程序逻辑2. ida查看so文件3. 解题脚本: 二.ezjni1. 程序逻辑分析2. 解题脚本: 三.easyjava1. 主函数逻辑2. getIndex函数3. getChar函数4.解题脚本 四.APK逆向1.程序逻辑分析2.解题脚本3.动态调试 Android2.0app3 一.easy-so 1. jadx分析程序逻…...
自然语言处理从入门到应用——自然语言处理的语言模型(Language Model,LM)
分类目录:《自然语言处理从入门到应用》总目录 语言模型(Language Model,LM)(也称统计语言模型)是描述自然语言概率分布的模型,是一个非常基础和重要的自然语言处理任务。利用语言模型ÿ…...

【MySql】InnoDB一棵B+树可以存放多少行数据?
文章目录 背景一、怎么得到InnoDB主键索引B树的高度?二、小结三、最后回顾一道面试题总结参考资料 背景 InnoDB一棵B树可以存放多少行数据?这个问题的简单回答是:约2千万。为什么是这么多呢?因为这是可以算出来的,要搞…...

【综述】视频无监督域自适应(VUDA)的小综述
【综述】视频无监督域自适应(VUDA)的小综述 一篇小综述,大家看个乐子就好,参考文献来自于一篇综述性论文 完整PPT已经上传资源:https://download.csdn.net/download/weixin_46570668/87848901?spm1001.2014.3001.550…...

《深入理解计算机系统(CSAPP)》第9章虚拟内存 - 学习笔记
写在前面的话:此系列文章为笔者学习CSAPP时的个人笔记,分享出来与大家学习交流,目录大体与《深入理解计算机系统》书本一致。因是初次预习时写的笔记,在复习回看时发现部分内容存在一些小问题,因时间紧张来不及再次整理…...

信息论与编码 SCUEC DDDD 期末复习
1.证明熵的可加性 2.假设一帧视频图像可以认为是由3*10的五次方个像素组成(每像素均独立变化),如果每个像素可取128个不同的等概率亮度表示。请计算出每帧图像含多少信息量?若有一口述者在约12000个汉字的字汇中选400个字来口述此…...

windows安装python开发环境
最近因工作需要,要学习一下python,所以先安装一下python的开发环境,比较简单 下载和安装Python 首先,在浏览器中打开Python的官方网站(https://www.python.org/downloads/) 然后,从该网站下载与你的操…...

java idea常用的快捷方式
文章目录 java idea常用的快捷方式快速复制选多行改变代码格式化 快速代码编辑psvmsout5.forarr.for快速死循环快速补全代码当方法还没创建的时候抽取具有一定功能的代码变成方法 java idea常用的快捷方式 快速复制 c t r l d \color{red}{ctrld} ctrld 选多行改变 A l t 鼠…...

lwIP 开发指南
目录 lwIP 初探TCP/IP 协议栈是什么TCP/IP 协议栈架构TCP/IP 协议栈的封包和拆包 lwIP 简介lwIP 源码下载lwIP 文件说明 MAC 内核简介PHY 芯片介绍YT8512C 简介LAN8720A 简介 以太网接入MCU 方案软件TCP/IP 协议栈以太网接入方案硬件TCP/IP 协议栈以太网接入方案 lwIP 无操作系…...

RabbitMQ消息属性详解
content-type属性 如同各种标准化的HTTP规范,content-type传输消息体的MIME类型。例如,如果你的应用程序正在发送JSON序列化的数据值,那么将content-type属性设置为application/json将允许尚待开发的消费者应用程序在收到消息时检查消息类型…...
shader 混合模式
在所有着色器执行完毕,所有纹理都被应用,所有像素准备被呈现到屏幕之后,使用Blend命令来操作这些像素进行混合。 3.2 blend的语法 BlendOff:关闭blend混合(默认值) BlendSrcFactor DstFactor :配置并启动混…...
【大数据工具】Hive 安装
Hive 环境搭建与基本使用 Hive 安装包下载地址:https://dlcdn.apache.org/hive/ 注:安装 Hive 前要先安装好 MySQL 1. MySQL 安装 MySQL 安装包下载地址:https://dev.mysql.com/downloads/mysql/archives/community/MySQL%20::%20Downloa…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...

手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...

算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...