SpringBoot 查询时间数据 数据库比返回数据多8个小时

SpringBoot 查询时间数据 数据库比返回数据多8个小时

原因

springboot 项目,Controller使用@ResponseBody注解,返回json数据,返回的数据时间与数据库实际时间相差8个小时:

导致这个问题的原因,网上搜了一下,大概意思是:spring转json的默认实现jackson中会根据时区去转换时间,而jackson的默认时区跟国内是相差8小时的,所以这里得重新设置当前项目地所在时区。

解决方案

url后面拼上: &serverTimezone=GMT%2B8
%2b为+号

这样存储到数据的数据就会以东八区的时间存储

spring:  
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8

这样返回数据也设置为东八区

可以使用Spring Data JPA来查询数据库中的数据Spring Data JPA是一个开源框架,它提供了一种简单的方式来与关系型数据库进行交互,同时也支持多种数据库。下面是一个使用Spring Data JPA查询数据的示例: 1. 首先,在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> ``` 2. 创建实体类 在Java中创建一个实体类,例如Student.java,并在类上使用@Entity注解来指示该类是一个JPA实体: ``` @Entity public class Student { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email; // getters and setters } ``` 在这个示例中,@Id注解表示该字段是主键,@GeneratedValue注解指定了如何生成主键。 3. 创建JpaRepository 创建一个JpaRepository接口,例如StudentRepository.java,并扩展Spring Data JPA提供的JpaRepository接口: ``` public interface StudentRepository extends JpaRepository<Student, Long> { } ``` 在这个示例中,Student表示实体类的类型,Long表示主键的类型。 4. 在控制器中使用JpaRepository 在控制器中注入StudentRepository,并使用它来查询数据: ``` @RestController public class StudentController { @Autowired private StudentRepository studentRepository; @GetMapping("/students") public List<Student> getStudents() { return studentRepository.findAll(); } } ``` 在这个示例中,findAll()方法会返回所有的学生记录。 以上就是使用Spring Data JPA查询数据库的基本步骤,当然还可以根据需要添加条件查询、分页等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值