1. 程式人生 > >mybatis批量插入oracle日期date型別

mybatis批量插入oracle日期date型別

oracle中儲存了date型別的欄位,需要使用Mybatis進行批量的插入

service 層

@Override
    public List<HashMap<String, String>> getList(Model model) {
        return consultGovdataDao.getList(model);
    }

dao層

void saveBatch(ArrayList<Model> list);

mapper

 <insert id="saveBatch" parameterType
="java.util.List" useGeneratedKeys="false">
insert all <foreach item="item" collection="list" separator=""> INTO CONSULT_GOVDATA ( PROJECT_NAME, PROJECT_ADDRESS, PROJECT_INDUSTRY, PUBLISH_DATE ) values ( #{item.projectName,jdbcType=VARCHAR}, #{item.projectAddress,jdbcType=VARCHAR}, #{item.projectIndustry,jdbcType=VARCHAR}, to_date(#{item.publishDate,jdbcType=DATE},'yyyy-mm-dd') ) </
foreach
>
select * from dual </insert>

其中 to_date(#{item.publishDate,jdbcType=DATE},'yyyy-mm-dd') 就是對日期型別的處理.
to_date函式第一個引數傳入變數, 第二個引數傳入格式化的形式.
最後實際轉化成的sql如下

insert all 
INTO CONSULT_GOVDATA
  (PROJECT_NAME,
   PROJECT_ADDRESS,
   PROJECT_INDUSTRY,
   PUBLISH_DATE,
   INDUSTRY,
PRODUCT) values ('九江商採購公告', '江西', '網路計算機', to_date('2018-08-03','yyyy-mm-dd'), null,'行務') INTO CONSULT_GOVDATA (PROJECT_NAME, PROJECT_ADDRESS, PROJECT_INDUSTRY, PUBLISH_DATE, INDUSTRY, PRODUCT) values ('線覆蓋小額采采購', '購專案', '網路通訊計算機', to_date('2018-08-03','yyyy-mm-dd'), null, '務') select * from dual