* @Title: getSequenceNumber
* @Description: TODO(获取表的id自增序列)
* @param tableNameStr
* @return
* @author XXX, 2018年1月8日 下午4:33:56
*/
public static int getSequenceNumber(String tableNameStr) {
@SuppressWarnings("resource")
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
SequenceTableService seq = (SequenceTableService) ac.getBean("sequenceTableService");
SequenceTable sequenceTable = null;
sequenceTable = seq.getSequenceTable("SEQUENCE_TABLE");
int i = 1;
if(sequenceTable != null) {
String sequenceNunber = sequenceTable.getSequenceNunber();
i = Integer.parseInt(sequenceNunber);
}else {
sequenceTable = new SequenceTable();
sequenceTable.setId(i + "");
sequenceTable.setTableName("SEQUENCE_TABLE");
sequenceTable.setSequenceNunber(i + "");
seq.addSequenceTable(sequenceTable);
}
sequenceTable = null;
sequenceTable = seq.getSequenceTable(tableNameStr);
int j = 1;
if(sequenceTable != null) {
String sequenceNunber = sequenceTable.getSequenceNunber();
j = Integer.parseInt(sequenceNunber) + 1;
sequenceTable.setTableName(tableNameStr);
sequenceTable.setSequenceNunber(j + "");
seq.updateSequenceTable(sequenceTable);
}else {
sequenceTable = new SequenceTable();
sequenceTable.setId((i + 1) + "");
sequenceTable.setTableName(tableNameStr);
sequenceTable.setSequenceNunber(j + "");
seq.addSequenceTable(sequenceTable);
sequenceTable.setTableName("SEQUENCE_TABLE");
sequenceTable.setSequenceNunber((i + 1) + "");
seq.updateSequenceTable(sequenceTable);
}
return j;
}
只需要把表名传进来就能获取某个表对应的序列号了。
序列号表:
drop table SEQUENCE_TABLE;
CREATE TABLE SEQUENCE_TABLE
(
ID VARCHAR2(50),
TABLE_NAME VARCHAR2(100),
SEQUENCE_NUNBER VARCHAR2(100),
CREATED_BY VARCHAR2(50),
CREATION_DATE TIMESTAMP (6),
LAST_UPDATED_BY VARCHAR2(50),
LAST_UPDATE_DATE TIMESTAMP (6),
LAST_UPDATE_LOGIN VARCHAR2(50)
) ;
ALTER TABLE SEQUENCE_TABLE MODIFY (ID NOT NULL ENABLE);
COMMENT ON COLUMN SEQUENCE_TABLE.ID IS '序列表id';
COMMENT ON COLUMN SEQUENCE_TABLE.TABLE_NAME IS '序列的表名';
COMMENT ON COLUMN SEQUENCE_TABLE.SEQUENCE_NUNBER IS '序列的编号';
COMMENT ON COLUMN SEQUENCE_TABLE.CREATED_BY IS '创建人';
COMMENT ON COLUMN SEQUENCE_TABLE.CREATION_DATE IS '创建时间';
COMMENT ON COLUMN SEQUENCE_TABLE.LAST_UPDATED_BY IS '最后一次修改人';
COMMENT ON COLUMN SEQUENCE_TABLE.LAST_UPDATE_DATE IS '最后一次修改时间';
COMMENT ON COLUMN SEQUENCE_TABLE.LAST_UPDATE_LOGIN IS '系统登录人';
COMMENT ON TABLE SEQUENCE_TABLE IS '序列表';
源码下载
http://download.csdn.net/download/qq_30270931/10202554