oracle表新建序列ID自增长
create table "N_AS_RECORD"( "AS_ID" number(12) not null constraint SEQ_N_AS_RECORD_AS_ID primary key, "PT_ID" number(12), "AS_CREATOR" number(12), "AS_DP" number(12), "AS_TYPE" char(2), "AS_UNIT_NAME" CHAR(10), "AS_TIME" date, "AS_MODEL_ID" number(12))/-- 创建序列 -- SEQ_N_AS_RECORD_AS_ID 序列名create sequence SEQ_N_AS_RECORD_AS_ID increment by 1 -- 每次递增1 start with 1 -- 从1开始 nomaxvalue -- 没有最大值 minvalue 1 -- 最小值=1 NOCYCLE; -- 不循环/-- 创建触发器 -- "trig" 触发器名 -- N_AS_RECORD 表名 -- SEQ_N_AS_RECORD_AS_ID 序列名 -- AS_ID 要自增的字段名create or replace trigger "trig" before insert on N_AS_RECORD for each rowbegin select SEQ_N_AS_RECORD_AS_ID.nextval into :new.AS_ID from dual;end;
oracle java批量插入
public interface GOODService { public void batchInsertGOOD_CUSTOM(BRAND bRAND,SHELL sHELL) throws IOException;}public class GOODServiceImpl implements GOODService { @Override public void batchInsertGOOD(BRAND bRAND, SHELL sHELL) throws IOException { String[] good_string = null; Integer CATEGORY_ID = 1; for (int i = 0; i < 100000; i++) { GOOD good = new GOOD(); good.setBRAND_ID(bRAND.getID()); good.setBRAND_UUID(bRAND.getBRAND_ID()); good.setSELLER_ID(sHELL.getID()); good.setSELLER_UUID(sHELL.getSHELL_ID()); if(i%500==0){ good_string = CustomUtil.readTargetFileNum(RandomUtil.randomInt(1, 15),StrUtil.trim(bRAND.getBRAND_JC())); String CATEGORY_Str = good_string[0]; if(CATEGORY_Str.equals("手机")){ CATEGORY_ID=1; }else if(CATEGORY_Str.equals("电脑")){ CATEGORY_ID=2; } } //产品类型 good.setCATEGORY_ID(CATEGORY_ID); good.setGOOD_ID(CustomUtil.getUUID()); good.setNAME(i+good_string[2]); good.setPRICE(new BigDecimal(good_string[1])); good.setGOOD_DESC("这时商品介绍---"+i+"----"+good_string[2]); good.setIS_DELETE(0); gOODMapper.insert(good); } }}public interface GOODMapper extends BaseMapper<GOOD> { void batchInsertList(List<GOOD> goodsList);}
<insert id="batchInsertList" parameterType="java.util.List" useGeneratedKeys="false"> insert into DM_GOODS(GOOD_ID, "NAME",PRICE,GOOD_DESC,BRAND_ID, BRAND_UUID, CATEGORY_ID, SELLER_ID, SELLER_UUID, IS_DELETE) <foreach collection="goodsList" item="good" separator="union all"> select #{good.GOOD_ID,jdbcType=INTEGER},#{good.NAME,jdbcType=VARCHAR},#{good.PRICE,jdbcType=DOUBLE},#{good.GOOD_DESC,jdbcType=VARCHAR}, #{good.BRAND_ID,jdbcType=INTEGER},#{good.BRAND_UUID,jdbcType=VARCHAR},#{good.CATEGORY_ID,jdbcType=VARCHAR}, #{good.SELLER_ID,jdbcType=INTEGER},#{good.SELLER_UUID,jdbcType=VARCHAR},#{good.IS_DELETE,jdbcType=VARCHAR} from dual </foreach> </insert>