public int insertPayDetailInfo(@Param("serialNumber") String serialNumber,@Param("list") List<LongDistancePayOaDetailDto> longDistancePayOaDetailDtos);
<!-- 方法实现 -->
<insert id="insertPayDetailInfo">
INSERT INTO UF_CYHTZFSHLCZJB_DT1 (
LSH,MXBH,DZLX,HTZFLX,FCBH,FCSJ,HTJE,YFJE,SFJE,BZGS,KKLX,CP
)
<foreach collection="list" item="ldpodd" separator="union"
open="select serialNumber,ldPayDetailNumber,documentType,contractPayType,deliveryNumber,TO_CHAR(deliveryTime,'yyyy-mm-dd hh24:mi:ss'),contractAmount,
amountPayble,actualPaidAmount,submitCompany,chargeType,licencePlateNumber from(" close=")">
SELECT
#{serialNumber, jdbcType=VARCHAR} serialNumber,
#{ldpodd.ldPayDetailNumber, jdbcType=VARCHAR} ldPayDetailNumber,
#{ldpodd.documentType, jdbcType=VARCHAR} documentType,
#{ldpodd.contractPayType, jdbcType=VARCHAR} contractPayType,
#{ldpodd.deliveryNumber, jdbcType=VARCHAR} deliveryNumber,
#{ldpodd.deliveryTime, jdbcType=VARCHAR} deliveryTime,
<!-- TO_CHAR( #{ldpodd.deliveryTime},'yyyy-mm-dd hh24:mi:ss') deliveryTime,-->
#{ldpodd.contractAmount, jdbcType=VARCHAR} contractAmount,
#{ldpodd.amountPayble, jdbcType=VARCHAR} amountPayble,
#{ldpodd.actualPaidAmount, jdbcType=VARCHAR} actualPaidAmount,
#{ldpodd.submitCompany, jdbcType=VARCHAR} submitCompany,
#{ldpodd.chargeType, jdbcType=VARCHAR} chargeType,
#{ldpodd.licencePlateNumber, jdbcType=VARCHAR} licencePlateNumber
from dual
</foreach>
</insert>
TO_CHAR( #{createDate, jdbcType=VARCHAR},‘yyyy-mm-dd hh24:mi:ss’) 时间为空不会报错;
TO_CHAR( #{createDate},‘yyyy-mm-dd hh24:mi:ss’) 时间为空报错。
以上代码中 #{ldpodd.deliveryTime, jdbcType=VARCHAR} deliveryTime, 指定了 deliveryTime 的类型,即使为空T O_CHAR(deliveryTime,‘yyyy-mm-dd hh24:mi:ss’) 也不会报错;其实就是 #{} 取值对 null 的处理
---------------------------------------------分割线,2020年8月4日17:16:01------------------------------------
MongoDB 按时间范围查询数据:
{"lotteryTime":{$gt:ISODate("2020-06-01T00:00:00.000Z"),$lte:ISODate("2020-07-01T00:00:00.000Z")}}
{"lotteryTime":{$gt:new Date("2020-06-01T00:00:00.000Z"),$lte:ISODate("2020-07-01T00:00:00.000Z")}}
mybatis :
jdbcTybe 只是为了在参数 为 null 的时候,指定数据类型,不为null 的时候 没什么作用:指定jdbcType=NUMERIC ,参数 传入字符串也不会报错,只要数据库类型是字符串存储不报错就可以。
-----------------------------------------------------------2020年8月28日21:47:48