Java Дата как параметр для Oracle ВЫБРАТЬ запрос в MyBatis [нет ответа] - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть похожие вопросы с сообщением

Java Дата как параметр для Oracle Запрос SELECT в MyBatis

, но этот вопрос не получил ответа и я опубликовал там и не слышал об этом. Мой довольно похож, если я удаляю фильтр даты, он работает отлично.

myBatis версия mybatis-spring-boot-starter v1.3.2 [считаю, что это не может быть обновлением]

my маппер xml как показано ниже

<mapper namespace="com.wind2.schedulerworker.dw.mapper.ProductBetlineReportMapper">
    <resultMap id="productBetlineReportMap" type="ProductBetlineReport">
        <id column="REPORT_DRAW_DATE" property="reportDrawDate" jdbcType="DATE" />
        <id column="DRAW_DATE" property="drawDate" javaType="java.util.Date" jdbcType="DATE" />
        <id column="PBID" property="pbid" jdbcType="VARCHAR" />
        <result column="PRODUCT_CHANNEL" property="productChannel" jdbcType="VARCHAR" />
    </resultMap>

<select id="selectProductBetlineReportCreated" resultMap="productBetlineReportMap" parameterType="java.util.List">
    <foreach item="item" index="index" collection="productBetlineList" separator="union all">
        SELECT REPORT_DRAW_DATE, PBID, DRAW_DATE FROM PRODUCT_BET_LINE_REPORT_CREATED
        WHERE PBID = #{item.pbid} AND DRAW_DATE = #{item.drawDate}
    </foreach>
</select>

</mapper>

мой java класс, как показано ниже, я использую java .util.Date

import java.util.Date;

public class ProductBetline {
    ....
    private Date drawDate;
    ....
}

я выполнил немало проблем и искал из inte rnet, я получил возвращаемый результат, если я изменил свое xml условие на # {item.drawDate}> DRAW_DATE , но мне нужно было "=" , я не уверен, может быть, это также проблема с отметкой времени или что, но когда я выбираю обратно входную дату, я ставлю ее так же, как и в БД. например, 24-JUL-19 00: 00: 00 (от oracle дБ) и 2019-07-24 00: 00: 00 (от java ввода) , Я не уверен, является ли проблема возврата года и даты причиной или чем (трактуйте дату как год или год как дату), но это не похоже на это, потому что если бы это было так, мое утверждение было бы неверным.

Оценить любой может мне помочь. Я исправляю это часами. Заранее спасибо.

...