我正在使用带有H2的内存数据库测试Dao.我正在使用map传递一个int来执行它.此查询在Oracle SQL上运行正常,但在H2中没有成功.
DAO
@Override
public int deleteCancelled(int days) {
final Map<String, Object> namedParameters = new HashMap<String, Object>();
namedParameters.put(DAYS, days);
namedParameters.put(STATUS, StatusEnum.CANCELLED.toString());
int updated = this.namedParameterJdbcTemplate.update(Query.QUERIES.DELETE_CANCELLED, namedParameters);
return updated;
}
Run Code Online (Sandbox Code Playgroud)
QUERIES
public static final String DELETE_CANCELLED = "DELETE FROM MY_TABLE "
+ "WHERE UPDATE_TS < SYSDATE - :days AND STATUS = :status";
Run Code Online (Sandbox Code Playgroud)
当我尝试在H2上执行此查询时,它返回:
错误
org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [DELETE FROM
MY_TABLE WHERE UPDATE_TS < SYSDATE - ? AND STATUS = ?]; SQL state
[HY004]; error code [50004]; Unknown data …Run Code Online (Sandbox Code Playgroud) 我正在使用 Spring-Boot 进行练习,我尝试搜索,但没有发现任何对我有用的东西。我试图返回一个转换 POJO 的 JSON,SB 应该自动执行此操作,但它返回:
2018-11-05 13:26:36.090警告1584 --- [nio-8080-exec-1] .wsmsDefaultHandlerExceptionResolver:已解决[org.springframework.http.converter.HttpMessageNotWritableException:找不到类型返回值的转换器:class com .example.demo.pelis.Foo]
这是我的 pom.xml:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
还有我的 POJO:
public class Foo {
private String bar;
/**
* @return the bar
*/
public String getBar() {
return bar;
}
/**
* …Run Code Online (Sandbox Code Playgroud)