您的位置:首页 > 数据库 > Oracle

mybatis+oracle12c 批量插入日期格式 YYYY-MM-DD

2016-12-23 17:55 417 查看
从网上搜索了一大推的答案,没有一个可以用一种简洁的办法去解决,于是经过自己的摸索下终于成功,以下是具体的过程,希望能帮到大家

1、mybaits version:3.4.0

     oracle version:12.1.0.2

     ojdbc7.jar

2、首先设置java实体,可以将日期格式的设为String类型

private String emplId;
private String effdt;//生效日期
private String relationship;//称谓
private String name;//姓名
private String sex;//性别
private String birthDate;//出生日期
private String political;//政治面貌
private String nationalId;//身份证号码
private String relatedJob;//工作单位及职务
private String phone;//电话
private String memo;//备注

3、在sql mapper.xml 里面配置,主要是插入sql语句采用to_date('1900-01-01','YYYY-MM-DD')方式,稍微懂点oracle sql语法都知道

<insert id="saveSocialRelation" parameterType="SocialRelation" useGeneratedKeys="false">
INSERT INTO PS_ASP_SOCIAL_TBL
(EMPLID,EFFDT,ASP_CHENGW,ASP_NHAM,SEX,BIRTHDATE,POLITICAL_STA_CHN,NATIONAL_ID,ASP_RELATED_JOB,ASP_TEL,ASP_MEMO)
(
<foreach collection="list" item="item" index="index" separator="union all">
SELECT 
#{item.emplId},to_date(#{item.effdt,jdbcType=DATE},'YYYY-MM-DD'),#{item.relationship},#{item.name},#{item.sex},

                                 to_date(#{item.birthDate,jdbcType=DATE},'YYYY-MM-DD'),
#{item.political},#{item.nationalId},#{item.relatedJob},#{item.phone},#{item.memo,javaType=string,jdbcType=CLOB}
FROM DUAL
</foreach>
)
</insert>

注意:如果采用to_date()方式插入,那么必须要保证java 实体日期字段为String 类型,若为java.sql.Date,或java.util.Date都会报错

另外发现mybaits 插入 clob 类型有问题,有知道的可以回复

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis oracle
相关文章推荐