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

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

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 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)
(

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

)


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

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




你可能感兴趣的:(mybaits,java)