ibatis 批量插入
CreationTime--2018年7月2日10点21分
Author:Marydon
1.说明
基于oracle的sql语句
2.主键id有默认值,比如:sys_guid()
id有默认值的情况下,插入的时候,不再声明该字段,当插入一条数据的时候,oracle会自动生成id。
INSERT ALL INTO CONSULT_SCHEDULE (ORG_CODE,DEPENT_ID,DEPENT_NAME,DOCTOR_ID,DOCTOR_NAME,DOCTOR_PHONE,SCHEDULE_DATE,WEEK_TXT,WB_TYPE,CLOSE_TZ,REPLACE_TZ,REMARK) VALUES SELECT 1 FROM DUAL
字符串需要声明jdbc类型为VARCHAR,可以做数据类型转换。
3.主键id使用序列
id使用序列,需要先查出来序列的值作为id,手动插入到数据库。
INSERT INTO IMAGE_INFO (ID,FORM_LIST_ID,IMAGE_NAME) SELECT SEQ_IMAGE_INFO.NEXTVAL,FORM_LIST_ID,IMAGE_NAME FROM ( )
由于oracle的序列的数据类型是number,因此其对应的jdbc类型为DECIMAL。
4. 注意
iBATIS使用这种批量插入操作,局限性在于:
每次插入的总数据不能超过1000(插入字段数*插入行数<=1000),使用大集合拆分成小集合的方式来限制每次插入数量不超过1000即可。
相关推荐: