MySql从数据库中查出时间数据比实际时间晚八个小时解决方法

错误现象:

数据库中数据:

查询到页面显示的数据:

可以发现查询出来的日期数据比数据库中日期数据晚了八个小时,查了很资料都没整清楚。

后来发现是在

jdbcUrl=jdbc:mysql://localhost:8080/hentai?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&useSSL=false

链接数据库时serverTimezone=UTC这个参数出的问题

只要改成serverTimezone=Asia/Shanghai就OK了!
————————————————
版权声明:本文为优快云博主「彩色小王」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq784515681/article/details/79658979

Spring Boot项目中,可以使用Elasticsearch的客户端库如`spring-data-elasticsearch`配合JPA(Java Persistence API)从MySQL数据库获取数据并批量写入Elasticsearch。以下是一个简单的示例: 首先,确保你在pom.xml文件中添加了相关的依赖: ```xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency> <dependency> <groupId>com.querydsl</groupId> <artifactId>querydsl-jpa</artifactId> </dependency> <!-- 如果使用MySQL JPA --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- MySQL驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies> ``` 然后,创建一个Repository接口,继承自ElasticsearchRepository: ```java import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.stereotype.Repository; @Repository public interface MyDataRepository extends ElasticsearchRepository<MyEntity, String> { } ``` 假设你有一个名为`MyEntity`的实体类对应MySQL表,它有一个日期字段`dateField`: ```java import javax.persistence.Entity; import java.util.Date; @Entity public class MyEntity { private String id; private Date dateField; // 这里假设日期字段名 // getters and setters... } ``` 在Service层,你可以使用JPA查询MySQL数据,并利用`saveAll()`方法批量写入Elasticsearch: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Service; @Service public class DataService { @Autowired private MyDataRepository myDataRepository; public void batchImportFromMysqlToEs() { Page<MyEntity> page = myDataRepository.findAll(new PageRequest(0, 100, Sort.by(Sort.Direction.DESC, "dateField"))); // 查询最近一天数据 myDataRepository.saveAll(page); // 批量保存到Elasticsearch } } ``` 注意,这个例子假设每天只处理100条数据。你可以根据实际需求调整分页查询的数量。另外,为了简化起见,这里未涉及错误处理和日志记录,实际应用中应加入适当的异常处理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值