mybatis批量插入oracle日期date型別
阿新 • • 發佈:2018-12-01
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