mybatis实现批量插入

entity层信息:

public class DeviceInfo {
    private Long id;

    private String sbmc;

    private String sbip;

    private Integer ywlldk;

    private Integer gllldk;

    private String sblxmc;

    private String sbggmc;

    private Long dydmid;

    private String sbbz;

    private Long sblxid;

    private Long sbggsyz;

    private Long gxsj;

    private Short valid;
    //set,get
}

dao层信息:

public interface DeviceInfoMapper {
    //批量插入
    public int insertDeviceInfoBatch(List deviceInfoList);
}

service层信息:


public interface DeviceInfoService {
  
    //批量插入
    public int insertDeviceInfoBatch(List deviceInfoList);
}

@Service
public class DeviceInfoServiceImpl implements DeviceInfoService {
	
	@Override
	public int insertDeviceInfoBatch(List deviceInfoList) {
		return dao.insertDeviceInfoBatch(deviceInfoList);
	}

}

mapper.xml文件配置:

	
	    INSERT INTO device_info(SBMC, SBIP, 
	      YWLLDK, GLLLDK, SBLXMC, 
	      SBGGMC, DYDMID, SBBZ, 
	      SBLXID, SBGGSYZ, GXSJ, 
	      VALID)
	    VALUES
	    
	         (#{item.sbmc,jdbcType=VARCHAR}, #{item.sbip,jdbcType=VARCHAR}, 
		      #{item.ywlldk,jdbcType=INTEGER}, #{item.gllldk,jdbcType=INTEGER}, #{item.sblxmc,jdbcType=VARCHAR}, 
		      #{item.sbggmc,jdbcType=VARCHAR}, #{item.dydmid,jdbcType=BIGINT}, #{item.sbbz,jdbcType=VARCHAR}, 
		      #{item.sblxid,jdbcType=BIGINT}, #{item.sbggsyz,jdbcType=BIGINT}, #{item.gxsj,jdbcType=BIGINT}, 
		      #{item.valid,jdbcType=SMALLINT})
	    
	

        若插入的对象没有id,它就会自动生成;今天调了半天,出现的问题就是foreach里面“#{item.sbmc,jdbcType=VARCHAR}”写成了“#{sbmc,jdbcType=VARCHAR}”,导致遍历的时候没有找到list里面的abmc的属性,应该加个item来修饰,相当于java里面的foreach标签。

你可能感兴趣的:(mybatis)