我正在尝试使用连接池配置与 PostgreSQL 数据库的 R2DBC 连接。我已遵循此文档:https://github.com/r2dbc/r2dbc-pool/blob/main/README.md。
ConnectionFactory connectionFactory = ConnectionFactories.get(ConnectionFactoryOptions.builder()
.option(DRIVER, "pool")
.option(PROTOCOL, "postgresql") // driver identifier, PROTOCOL is delegated as DRIVER by the pool.
.option(HOST, "192.168.1.200")
.option(PORT, 5433)
.option(DATABASE, "XXX")
.option(USER, "XXX")
.option(PASSWORD, "XXX")
.build());
ConnectionPoolConfiguration configuration = ConnectionPoolConfiguration.builder(connectionFactory)
.maxIdleTime(Duration.ofMillis(1000))
.initialSize(10)
.maxSize(100)
.build();
ConnectionPool pool = new ConnectionPool(configuration);
Mono<Connection> connection = pool.create();
return Flux.from(connection)
.flatMap(conn -> conn
.createStatement("SELECT id, name, description FROM assortment")
.execute())
.flatMap(result -> result
.map((row, rowMetadata) ->
new AssortmentItem(
row.get("id", Long.class),
row.get("name", String.class),
row.get("description", String.class)) …Run Code Online (Sandbox Code Playgroud) 我在使用 Spring 应用程序并使用 DTO 从数据库获取数据时遇到问题。我收到“java.sql.SQLException:结果集已关闭”。数据库是Firebird(Jaybird 版本3.0.3)。
我的 dto 文件:
package ekoncept.dto;
import ...
public class FakturaListDTO {
private Integer fakturaId;
@Getter @Setter private String fakturaPrefix;
...
@Getter @Setter private BigDecimal fakturaZaplacono;
@Id
@Column(name = "FAKTURA_ID")
public Integer getFakturaId() {
return fakturaId;
}
public void setFakturaId(Integer fakturaId) {
this.fakturaId = fakturaId;
}
public FakturaListDTO(Faktura fakt) { // not working
this.fakturaId = fakt.getFakturaId();
this.fakturaPrefix = fakt.getFakturaPrefix();
...
this.fakturaZaplacono = fakt.getFakturaZaplacono();
}
public FakturaListDTO(Integer faktId) { // working
this.fakturaId = faktId;
}
} …Run Code Online (Sandbox Code Playgroud) 我在REST项目(SpringBoot + Hibernate)中生成的JSON响应中的日期格式有问题。
当我调用函数时,我得到了这样的JSON:
"rezerwacjaDataOd": 1535580000000,
"rezerwacjaDataDo": 1535839200000,
"rezerwacjaGodzOd": "14:00:00",
"rezerwacjaGodzDo": "12:00:00"
Run Code Online (Sandbox Code Playgroud)
我的实体:
private Date rezerwacjaDataOd;
private Date rezerwacjaDataDo;
private Time rezerwacjaGodzOd;
private Time rezerwacjaGodzDo;
Run Code Online (Sandbox Code Playgroud)
它也是java.sql中的Date和java.sql中的Time
我的控制器:
@RestController
@CrossOrigin
@RequestMapping("api/rezerwacja")
@Api
public class RezerwacjaController {
...
@GetMapping(value = "/getRezerwacjaById")
public @ResponseBody
Rezerwacja getRezerwacjaById(Integer id) {
return rezDao.findOne(id);
}
...
Run Code Online (Sandbox Code Playgroud)
为什么时间采用“ 12:00:00”格式,而日期采用1535580000000格式?如何将日期设置为“ yyyy-MM-dd”格式?