查询数据库回显时间数值异常

一. 前言

小熙的项目是springcould的微服务,采用的是springboot 2.1.12。

二. 问题

查询数据库,返回到项目中的时间比数据库的时间多了13小时。

当时想到是时区问题

  1. 查询数据库是正常的。

  2. 项目当前模块的yml时区设置是正常的

    spring:
      jackson:
        time-zone: Asia/Shanghai #设置时区为Asia/Shanghai
        date-format: yyyy-MM-dd HH:mm:ss
    
  3. 经过小熙的查询是连接数据库的JDBC没有指定对应时区,所以出现问题(连接上回显数值异常)

三. 解决

在JDBC上加上对应的时区(两者都可以),防止回显数值异常。

serverTimezone=GMT%2B8                     时区=东八区
serverTimezone=Asia/Shanghai

例如:

spring:
  datasource:
    druid:
      # JDBC 配置(驱动类自动从url的mysql识别,数据源类型自动识别)
      url: jdbc:mysql://127.0.0.1:3306/chengxi-test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&tinyInt1isBit=false
      username: chengxi
      password: 123
      driver-class-name:  com.mysql.cj.jdbc.Driver
  1. 关于北京时区:Asia/beijing,当ssl连接为true值的时候会异常

     useSSL=false
    
  2. 小熙的springboot版本是2.1.12,从2.1.x以上的版本会默认引入mysql连接器8.0以上版本
    所以连接器用的是mysql-connector-java-8.0.x.jar
    而在MySQL连接器8.0以上版本中会存在时区问题
    新版的驱动类改成了com.mysql.cj.jdbc.Driver
    新版驱动连接url也有所改动 ,所以需要按对应场景指定对应时区。

四. 后语

经过此次,小熙才更加理解连接上也要加上对应时区。

你可以使用 el-checkbox-group 组件来实现查询数据库回显数据的功能。下面是一种可能的实现方式: 1. 首先,你需要从数据库中获取到需要回显的数据。可以使用后端的接口来查询数据库并返回数据。 2. 在前端,使用 el-checkbox-group 组件来展示回显的数据。在组件中,可以使用 v-for 指令循环渲染每个 checkbox。 3. 在循环中,为每个 checkbox 设置一个 v-model 绑定的变量,以便在选中或取消选中时更新数据。 4. 根据从后端获取的数据,将需要回显的数据的对应变量设置为 true,即默认选中状态。 下面是一个简单的示例代码: ```html <template> <el-checkbox-group v-model="selectedValues"> <el-checkbox v-for="option in options" :label="option.value" :key="option.value">{{ option.label }}</el-checkbox> </el-checkbox-group> </template> <script> export default { data() { return { options: [], // 数据库查询返回的选项数据 selectedValues: [], // 回显数据的数组 }; }, mounted() { // 调用后端接口查询数据库数据,并将返回的数据赋值给 options 数组 // 示例假设后端接口为 getOptions() this.getOptions().then((res) => { this.options = res.data.options; // 根据查询到的数据设置需要回显的选项 this.selectedValues = res.data.selectedOptions.map((option) => option.value); }); }, methods: { getOptions() { // 调用后端接口查询数据库数据的方法,返回 Promise 对象 return axios.get('/api/getOptions'); }, }, }; </script> ``` 在这个示例中,通过调用后端接口获取选项数据,并根据查询到的数据设置需要回显的选项。使用 v-model 绑定 selectedValues 数组来实现选中状态的管理。 请注意,这只是一个示例,具体实现可能会因你的项目和需求而有所不同。你需要根据你的数据库结构和接口返回的数据结构进行相应的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值