Установка java .time.LocalDate в качестве параметра в запросе myBatis - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть простой сервис REST, который принимает дату как переменную пути и выполняет запрос. Я использую класс java.time.LocalDate для хранения даты и передачи параметра, как показано ниже:

    <select id="getRecordsUpdatedAfterDate" parameterType="java.time.LocalDate" resultType="String">
        SELECT ID FROM table WHERE REC_UPDT_DT > #{recUpdtDt, jdbcType=DATE}
    </select>

Но я не получаю ответ от службы. В логах у меня так:

2020-04-06 10:16:16.187 DEBUG 11928 --- [nio-8080-exec-2] .c.t.g.a.m.P.getRecordsUpdatedAfterDate: ==>  Preparing: SELECT ID FROM table WHERE REC_UPDT_DT > ?
2020-04-06 10:16:16.188 DEBUG 11928 --- [nio-8080-exec-2] .c.t.g.a.m.P.getRecordsUpdatedAfterDate: ==> Parameters: 2020-01-01(LocalDate)

Но ничего после этого и ответа тоже нет.

Что-то я делаю не так? Я использую mybatis 3.5.2 и Spring Boot.

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Добавить эту зависимость

<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-typehandlers-jsr310</artifactId>
<version>1.0.2</version>

0 голосов
/ 06 апреля 2020

если вы выполните тот же запрос в источнике данных, вы получите один строковый объект? Возможно, потому, что dataType или oor, потому что вы получаете более одного результата.

Добавьте определение таблицы, чтобы проверить тип ID.

...