oracle的mybatis遍历插入的写法特点

oracle的mybatis遍历插入的写法,发现和mysql,pgsql,sqlserver的写法差距有点大,下面把oracle的写法粘贴出来

int insertAttendance(@Param("attendanceList") List<Attendance> attendanceList);
<insert id="insertAttendance" useGeneratedKeys="false" parameterType="com.jbf.dzg.attendance.domain.Attendance">
        INSERT INTO JBF_SYS_WORK_ATTENCE (ID, WORKER_NAME, SEX, ATTENDANCE_START_TIME, ATTENDANCE_END_TIME, ATTENDANCE_STATE, SYS_USER_ID, PROJECT_ID, PROJECT_NAME)
        <foreach collection="attendanceList" item="attendance"   separator="union all">
            (
            SELECT
            #{attendance.id},
            #{attendance.workerName},
            #{attendance.sex},
            to_date(#{attendance.attendanceStartTime}, 'SYYYY-MM-DD HH24:MI:SS'),
            to_date(#{attendance.attendanceEndTime}, 'SYYYY-MM-DD HH24:MI:SS'),
            #{attendance.attendanceState},
            #{attendance.sysUserId},
            #{attendance.projectId},
            #{attendance.projectName}
            FROM DUAL
            )
        </foreach>
    </insert>

特点:
1:oracle中要加上 useGeneratedKeys=“false” 这个配置,为ture表示如果插入的表以自增列为主键,则允许 JDBC 支持自动生成主键,并可将自动生成的主键返回,false反之;
2:没有values这个关键词,其它数据库都是需要这个词的,但oracle偏偏没有;
3:插入的值需要用 SELECT。。。。。 FROM DUAL包裹,dual是Oracle中的一个伪表,也是实际存在的表,任何用户均可读取,常用在没有目标表的Select中,就是用来计算计算常数表达式
4:separator=“union all” 这里不再是“,”了
初用oracle,有什么不对请各位指正

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值