Oracle+mybatis批量插入数据对象

1.编写mapper.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.tv.foc.dao.FlightCancelDao">
	<insert id="batchInsert" parameterType="java.util.List">
	  INSERT  INTO FOC50_T2003(
		FLIGHT_ID,
		CANCEL_CODE,
		PATCH_FLAG,
		PATCH_INFO,
		INPUT_BY,
		INPUT_TIME,
		CANCEL_CODE_2,
		REMARK
		)
		<foreach close=")" collection="list" item="dataList" index="index" open="(" separator="union">
			SELECT
			#{dataList.flightId,jdbcType=VARCHAR},
			#{dataList.cancelCode,jdbcType=VARCHAR},
			#{dataList.patchFlag,jdbcType=VARCHAR},
			#{dataList.patchInfo,jdbcType=VARCHAR},
			#{dataList.inputBy,jdbcType=VARCHAR},
			#{dataList.inputTime,jdbcType=TIMESTAMP},
			#{dataList.cancelCode2,jdbcType=VARCHAR},
			#{dataList.remark,jdbcType=VARCHAR}
			FROM dual
		</foreach>
	</insert>
</mapper>  

2.编写DAO层

package com.tv.foc.dao;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author wjw
 * @Description: ${todo}(提供公共的sql)<br>
 * @date 2018/6/25
 */
public interface BaseDao<T> {
    /**
     * 批量插入数据
     * @param dataList
     */
    public void batchInsert(List<T> dataList);
    /**
     * 删除所有数据
     */
    public void deleteAll();
    /**
     * 新增
     * @param entity
     */
    public void insert(T entity);

    /**
     * 获取所有数据
     * @return
     */
    public List<T> getAll();

    /**
     * 更新数据
     * @param entity
     */
    public void updateSelective(T entity);

    /**
     * 删除
     * @param id
     */
    public void  deleteById(String id);

    /**
     * 根据时间删除
     * @param dateStr
     */
    public void deleteByDate(String dateStr);


}
package com.tv.foc.dao;

import com.tv.foc.vo.FlightCancel;
import org.apache.ibatis.annotations.Mapper;

/**
 * @author wjw
 * @Description: 航班取消原因
 * @date 2018/6/29
 */
@Mapper
public interface FlightCancelDao extends BaseDao<FlightCancel> {
}

猜你喜欢

转载自blog.csdn.net/wjw1639942939/article/details/82662234