用"Spring + Spring Data + Cassandra“配置创建示例应用程序。
假设存储了下列数据
结果查询
cqlsh:keyspaceb> SELECT * FROM memobox where pkey1='a' and pkey2='b' ORDER BY id;
pkey1 | pkey2 | id | name | date | memo
-------+-------+--------------------------------------+----------+--------------------------+----------------
a | b | ---- | tanaka | 2016-12-13 00:00:00+0000 | greet message1
a | b | ---- | yamamoto | 2016-12-13 00:00:00+0000 | greet message2创建Rest应用程序,发出curl的结果如下所示。
$ curl http://localhost:8888/MemoBoxCassandra/api/memobox -i -XGET
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 265 0 265 0 0 1064 0 --:--:-- --:--:-- --:--:-- 1132HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 21 Dec 2016 01:21:43 GMT
[{"pkey1":"a","pkey2":"b","id":"----","name":"tanaka","memo":"greet message1","date":1481587200000},{"pkey1":"a","pkey2":"b","id":"f5ed41c0-c657-11e6-8db6-27bcd31c20cd","name":"yamamoto","memo":"greet message2","date":1481587200000}]在这里,“列”是“日期”,但我不想要我想要的格式。
在卡桑德拉一侧,这是一个“时间戳”类型。在Java的实体端,它是"java.util.Date“类型。仓库类的获取部分如下所示。
package com.example.sb.repository;
import java.util.List;
import java.util.UUID;
import org.springframework.data.cassandra.repository.CassandraRepository;
import org.springframework.data.cassandra.repository.Query;
import org.springframework.stereotype.Repository;
import com.example.sb.entity.MemoBox;
@Repository
public interface MemoBoxRepository extends CassandraRepository<MemoBox> {
@Query("SELECT * FROM memobox where pkey1='a' and pkey2='b' ORDER BY id")
List<MemoBox> findAllOrderById();
}我应该在哪里指定日期格式?
发布于 2016-12-21 05:32:18
您可以在configuration类中使用ObjectMapper定义日期格式。
@Configuration
public class JacksonConfiguration {
@Bean
public ObjectMapper objectMapper() {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm a z");
ObjectMapper mapper = new ObjectMapper();
mapper.setDateFormat(df);
return mapper;
}
}以上将影响所有具有Date属性的类,这些类使用jackson进行序列化和反序列化。如果您想要一个特定的类和属性,可以在POJO/实体中使用@JsonFormat,如下所示。
public class Person {
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy hh:mm:ss")
private Date dateOfBirth;
// other properties
// setters and getters
}https://stackoverflow.com/questions/41253987
复制相似问题