项目技巧二

目录

java中Date和mysql数据库datetime数据类型 

注意:

在yml文件中配置成员变量的值

1.写一个yml文件 

 2.写一个与yml相互映射的类来读取yml的属性信息

3.在其他子模块的配置类中开启此类,读取yml文件的内容信息

4.直接依赖注入(因为已经交给spring管理),再使用 List mcodes = stockInfoConfig.getInner();

直接推送git

实体对象说明

1.pojo

2.domain

3.entity

4.vo-->value object对象

5.vo-->view object对象


java中Date和mysql数据库datetime数据类型 

  1. 数据库中的 datetime 类型

    • 大多数关系型数据库(如 MySQL, SQL Server, PostgreSQL 等)都提供了 datetime 类型,用于存储日期和时间信息。
    • 这些数据库中的 datetime 类型通常遵循 ISO 8601 标准,能够存储从 '0001-01-01 00:00:00' 到 '9999-12-31 23:59:59' 的日期和时间。
    • 具体的精度和存储方式可能因数据库系统的不同而有所差异。
  2. Java 中的 Date 类型

    • Java 的 java.util.Date 类代表一个特定的瞬间,精确到毫秒。
    • Date 对象包含从“标准基准时间”(即格林威治时间 1970 年 1 月 1 日 00:00:00)至今的毫秒数。
    • Date 类本身不包含时区信息,它只是表示一个时间点。

注意:

1.我们可以直接使用Date数据类型来与datetime数据类型直接比较,如

where datetime = Date 

2.从数据库中查询datetime数据类型时,会直接得到一个Date数据类型

3.将Date数据类型插入数据库时,需要把Date数据类型转换成特定格式的时间String数据类型才能插入数据库中

如:特定string数据类型格式为 "yyyy-MM-dd HH:mm:ss" 

在yml文件中配置成员变量的值

1.写一个yml文件 

# 配置股票相关的参数
stock:inner:   #A股- sh000001 # 上证ID- sz399001 #  深证IDouter: # 外盘- int_dji # 道琼斯- int_nasdaq # 纳斯达克- int_hangseng # 恒生- int_nikkei # 日经指数- b_FSSTI # 新加坡

 2.写一个与yml相互映射的类来读取yml的属性信息

注意:属性名字必须与yml文件中的属性一致

在这个类中我们没有把它交给Spring管理,即还没有进行加载,没有映射

@Data
@ConfigurationProperties(prefix = "stock")//映射yml文件中stock属性的值
//@Component//直接让其交给spring管理,TODO:我们不使用(不让它自己开启),我们让其他要使用该类的子模块来开启
public class StockInfoConfig {public List<String>inner;//国内大盘编码public List<String>outer;//国外大盘编码
}

3.在其他子模块的配置类中开启此类,读取yml文件的内容信息

使用@EnableConfigurationProperties,让这个子模块开启加载此配置类,并让它映射yml文件中的stock属性的值,再交给spring管理

@Configuration
@EnableConfigurationProperties(StockInfoConfig.class)//TODO:在这个子模块开启加载此配置类,并让它映射yml文件中的stock属性的值,再交给spring管理
public class CommonConfig {
}

4.直接依赖注入(因为已经交给spring管理),再使用 List<String> mcodes = stockInfoConfig.getInner();

@Service
@Slf4j
public class StockServiceImpl implements StockService {@Autowiredprivate StockInfoConfig stockInfoConfig;@Autowiredprivate StockMarketIndexInfoMapper stockMarketIndexInfoMapper;@Overridepublic R<List<InnerMarketDomain>> getInnerMarket() {//1.获取当前时间的最新交易点(精确到分钟,秒和毫秒置为0)//Date curDate = DateTimeUtil.getLastDate4Stock(DateTime.now()).toDate();Date curDate = MyDateTimeUtil.getLateDate4Stock(DateTime.now()).toDate();//mock data 等后续股票采集job工程完成,再将此代码删除//curDate=DateTime.parse("2021-12-28 09:31:00", DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")).toDate();//log.info("curDate:{}",curDate);//2.获取国内大盘的编码集合List<String> mcodes = stockInfoConfig.getInner();//3.调用mapper进行查询List<InnerMarketDomain> data=stockMarketIndexInfoMapper.getInnerMarket(curDate,mcodes);//4.返回数据return R.ok(data);}
}
List<InnerMarketDomain> getInnerMarket(@Param("curDate") Date curDate, @Param("marketCodes") List<String> marketCodes);
 <select id="getBlock4Ten" resultType="com.hhh.stock.pojo.domain.BlockDomain">select company_num as companyNum,trade_amount as tradeAmt,label as code,avg_price as avgPrice,block_name as name,cur_time as curDate,trade_volume as tradeVol,updown_rate as updownRatefrom stock_block_rt_infowhere cur_time=#{curDate}order by trade_volume desc limit 10;</select>

cur_time是datetime类型,curDate是Date类型,datetime类型可以直接和Date类型进行比较,datetime查询出来的数据类型也是Date,但是Date数据类型要存入数据库时,必须设置成指定时间格式的string类型进行存入数据库

@Data
@ApiModel(description = "大盘数据")
public class InnerMarketDomain {@ApiModelProperty("大盘编码")private String code;//大盘编码@ApiModelProperty("指数名称")private String name;//指数名称@ApiModelProperty("开盘点")private BigDecimal openPoint;//开盘点@ApiModelProperty("当前点")private BigDecimal curPoint;//当前点@ApiModelProperty("前收盘点")private BigDecimal preClosePoint;//前收盘点@ApiModelProperty("交易量")private Long tradeAmt;//交易量@ApiModelProperty("交易金额")private Long tradeVol;//交易金额@ApiModelProperty("涨跌值")private BigDecimal upDown;//涨跌值@ApiModelProperty("涨幅")private BigDecimal rose;//涨幅@ApiModelProperty("振幅")private BigDecimal amplitude;//振幅@ApiModelProperty("当前时间")@JsonFormat(pattern = "yyyy-MM-dd HH:mm")//设置返回前端的时间格式private Date curTime;//当前时间
}

结果:

直接推送git

 git push origin master --force

实体对象说明

1.pojo

java普通对象,范围比较大,本质上就是一个数据容器,且无需提供复杂的方法(只需有get set方法)

2.domain

领域对象,就是将某个业务方向的数据加以封装成的对象,比如:以数据库为例子,该类的数据可能来自多张表的字段,或者单张表的某系字段

3.entity

与数据库表字段一一对应的实体对象

4.vo-->value object对象

就是保存值的对象,内置的属性是与yml文件相互映射保存数据的(使用@ConfigurationProperties),等到要使用的时候直接使用@EnableConfigurationProperties注解来开始让使用了@ConfigurationProperties注解的类映射yml文件属性内容,然后交给spring管理。

5.vo-->view object对象

就是与前端交互的数据对象

注意:domian包下的类是直接与数据库交互直接进行赋值,而view object是与前端进行交互的,通过domain或者entity进行赋值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/413744.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java多进程调用dll程序和exe程序

&#x1f3af;导读&#xff1a;本文介绍了使用Java调用本地DLL及EXE程序的方法。针对DLL调用&#xff0c;文章提供了基于Java Native Access (JNA) 库的具体实现方案&#xff0c;包括定义Java接口以映射DLL中的函数&#xff0c;并展示了如何加载DLL及调用其中的方法。对于EXE程…

opencv之几何变换

文章目录 1 前言2 线性几何变换的主要类型2.1 平移 (Translation)&#xff1a;2.1.1 定义2.1.2代码 2.2 缩放 (Scaling)&#xff1a;2.2.1 定义2.2.2 代码 2.3 旋转 (Rotation)&#xff1a;2.3.1 定义2.3.2 代码 2.4 仿射变换 (Affine Transformation)&#xff1a;2.4.1 定义2.…

数据源10min自动断开连接导致查询抛异常(未获取可用连接)

由于个人能力有限&#xff0c;本文章仅仅代表本人想法&#xff0c;若有不对请即时指出&#xff0c;若有侵权&#xff0c;请联系本人。 1 背景 工作中引入druid来管理数据源连接&#xff0c;由于数据源每隔10分钟强制管理空闲超过10分钟的连接&#xff0c;导致每隔10分钟出现1…

3D打印透气钢与传统透气钢的差异

透气钢作为一种集金属强度与透气性能于一体的特殊材料&#xff0c;在注塑模具领域扮演着关键角色&#xff0c;通过有效排除模具内困气&#xff0c;显著提升制品成型质量与生产效率。当前&#xff0c;市场上主流的透气钢产品多源自日本、美国&#xff0c;其高昂成本与技术壁垒限…

Golang | Leetcode Golang题解之第388题文件的最长绝对路径

题目&#xff1a; 题解&#xff1a; func lengthLongestPath(input string) (ans int) {n : len(input)level : make([]int, n1)for i : 0; i < n; {// 检测当前文件的深度depth : 1for ; i < n && input[i] \t; i {depth}// 统计当前文件名的长度length, isFi…

生成艺术,作品鉴赏:物似主人形

2001年&#xff0c;当21岁的我&#xff0c;还在恒基伟业当高级工程师时。我有一个女同事&#xff0c;她有个特别大的杯子用来喝水&#xff0c;不夸张的说&#xff0c;是那种我从来没见过的大杯子&#xff0c;由于她是很大只的那种&#xff0c;她便自嘲说&#xff1a;「物似主人…

【Kubernetes部署篇】二进制搭建K8s高可用集群1.26.15版本(超详细,可跟做)

文章目录 一、服务器环境信息及部署规划1、K8S服务器信息及网段规划2、服务器部署架构规划3、组件版本信息4、实验架构图 二、初始化环境操作1、关闭防火墙2、配置本地域名解析3、配置服务器时间保持一致4、禁用swap交换分区(K8S强制要求禁用)5、配置主机之间无密码登录6、修改…

JVM2-JVM组成、字节码文件、类的生命周期、类加载器

Java虚拟机的组成 Java虚拟机主要分为以下几个组成部分&#xff1a; 类加载子系统&#xff1a;核心组件类加载器&#xff0c;负责将字节码文件中的内容加载到内存中运行时数据区&#xff1a;JVM管理的内存&#xff0c;创建出来的对象、类的信息等内容都会放在这块区域中执行引…

RelativeLayout相对布局

activity_relative_layout.xml <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"150dp…

QT QGraphicsView实现预览图片显示缩略图功能

QT QGraphicsView实现预览图片显示缩略图功能QT creator Qt5.15.2 头文件&#xff1a; #ifndef TGRAPHICSVIEW_H #define TGRAPHICSVIEW_H#include <QGraphicsView> #include <QMainWindow> #include <QObject> #include <QWidget>class TGraphicsVie…

Oracle 客户端 PL/SQL Developer 15.0.4 安装与使用

目录 官网下载与安装 切换中文与注册 连接Oracle数据库 tnsnames.ora 文件使用 Oracle 客户端 PL/SQL Developer 12.0.7 安装、数据导出、Oracle 执行/解释计划、for update。 官网下载与安装 1、官网&#xff1a;https://www.allroundautomations.com/products/pl-sql-d…

P01-何谓Java方法

P01-何谓Java方法 一、System.out.println()分析 二、剖析方法 谈到方法&#xff0c;我就突然想到了c函数&#xff1a; 其实&#xff1a;Java 方法和 C 函数在许多方面确实有类似之处&#xff0c;但它们也存在一些显著的差异。下面是它们的一些共同点和不同点&#xff1a; 共同…

DORIS - DORIS简介

前言 本博文基于DORIS的2.1.5版本。apache-doris-2.1.5-bin-x64.tar.gz 是什么&#xff1f; DORIS官网 Apache Doris 是一款基于 MPP 架构的高性能、实时的分析型数据库&#xff0c;以高效、简单、统一的特点被人们所熟知&#xff0c;仅需亚秒级响应时间即可返回海量数据下的…

【第0004页 · 递归】生成括号对

【前言】本文以及之后的一些题解都会陆续整理到目录中&#xff0c;若想了解全部题解整理&#xff0c;请看这里&#xff1a; 第0004页 生成括号对 今天这题有点难绷&#xff0c;从某种程度上来说应该是第二次写这个问题了&#xff0c;但还是卡住了&#xff0c;现在我们来看一下…

安防视频汇聚平台EasyCVR启动后无法访问登录页面是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构&#xff0c;兼容性强、支持多协议接入&#xff0c;包括国标GB/T28181协议、部标JT808、GA/T1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SDK等…

设计模式之适配器模式:软件世界的桥梁建筑师

一、什么是适配器模式 适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff08;Structural Pattern&#xff09;&#xff0c;通过将类的接口转换为客户期望的另一个接口&#xff0c;适配器可以让不兼容的两个类一起协同工作。其核心思想是通过一个…

SQL 语言简明入门:从历史到实践

SQL&#xff08;Structured Query Language&#xff09;是数据库领域的核心语言。自20世纪70年代中期由IBM公司开发以来&#xff0c;SQL已经成为全球最广泛使用的数据库管理语言。 本文将以简洁明了的方式为您介绍SQL的历史、基本结构、核心语言组成以及其独特的特点和书写规则…

Cookie对象的缺陷与应对策略

Cookie对象的缺陷与应对策略 1. 安全性问题&#xff1a;Cookie是明文的2. 存储限制&#xff1a;浏览器对Cookie数量和大小有限制3. 性能影响&#xff1a;Cookie携带过多增加网络流量4. 数据类型限制&#xff1a;Cookie的value值只能是字符串 &#x1f496;The Begin&#x1f4…

华为2024 届秋招招聘——硬件技术工程师-电源方向-机试题(四套)(每套四十题)

华为 2024 届秋招——硬件-电源机试题&#xff08;四套&#xff09;&#xff08;每套四十题&#xff09; 岗位——硬件技术工程师 岗位意向——电源 真题题目分享&#xff0c;完整版带答案(有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&am…

bbr 和 inflight 守恒的收敛原理

先看 bbr&#xff0c;以 2 条流 bw 收敛为例&#xff0c;微分方程组如下&#xff1a; { d x d t C ⋅ g ⋅ x g ⋅ x y − x d y d t C ⋅ g ⋅ y g ⋅ y x − y \begin{cases} \dfrac{dx}{dt}C\cdot\dfrac{g\cdot x}{g\cdot xy}-x\\\ \dfrac{dy}{dt}C\cdot\dfrac{g\cdot y…