spring boot项目中的application.properties设置了时区不生效的处理

本文详细解析了在SpringBoot项目中如何正确设置时区,避免数据库查询时间数据出现偏差。通过在application.properties中配置参数及启动类中设置时区,确保应用与数据库时区一致,提高数据准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.有时候在spring boot中连接数据库时设置了时区,但是还是不生效,
如在application.properties 的pring.datasource.url中设置了
在这里插入图片描述
2.但结果,查询出来的时间数据不对
在这里插入图片描述

解决办法

a. 在配置文件application.properties连接数据库后加上useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC(如1)
b. 在启动类中添加
@PostConstruct
void setTimeZone() {
TimeZone.setDefault(TimeZone.getTimeZone(“UTC”));
}

如图:在这里插入图片描述

结果

在这里插入图片描述

### 解决创建 Spring Boot 项目后的红色报错 当首次创建 Spring Boot 项目并打开时,可能会看到许多未解析的依赖项或编译错误显示为红色警告。这通常是因为 IDE 尚未完全加载 Maven 或 Gradle 构建文件中的所有库。 #### 更新项目构建工具配置 IDE 需要时间来下载所需的外部库并将它们链接到项目中。对于 STS 和 IntelliJ IDEA 来说,可以通过刷新 Maven/Gradle 项目来加速这一过程[^1]。 ```bash # 对于Maven项目,在STS中右键点击项目 -> Maven -> Update Project... # 对于Gradle项目,则选择Refresh all Gradle projects选项 ``` #### 检查 `pom.xml` 文件 确保 `pom.xml` 中定义的所有依赖项都是有效的,并且版本号正确无误。如果存在拼写错误或其他问题,应该在此阶段修正这些问题[^2]。 #### 数据源配置缺失引发的特定异常处理 某些情况下,即使其他部分看起来正常工作,但如果应用程序试图连接数据库而缺少必要的属性设置(比如 MySQL 的驱动程序),也会触发类似的红字提示。此时应当确认 application.properties 或者 application.yml 文件内包含了完整的数据源详情: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=mypassword spring.jpa.hibernate.ddl-auto=update ``` 上述代码片段展示了如何指定一个本地运行的 MySQL 实例作为目标数据库,并指定了字符集与时区参数以防止潜在兼容性问题的发生。 #### 清理缓存与重启服务 有时简单的清理操作可以消除残留的数据冲突。尝试执行以下命令清除旧有的构建产物再重新启动应用服务器: ```shell mvn clean install # 如果是maven工程的话 ./gradlew build --refresh-dependencies # 若采用的是gradle方式构建则使用此指令代替前一条 ``` 最后别忘了保存所有的更改并对整个解决方案进行全面重建,以便让最新的修改生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值