📄 sequencemng.java
字号:
package com.core.business;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.core.persistence.HibernateUtil;
import com.core.persistence.PersistenceManager;
/**
* 提供自定义的序列管理方式。(不提供修改方法)
* 1、新增一个序列。
* 2、删除一个序列。
* 3、得到某个序列的值。
* 4、返回所有序列名称的list。
*/
public class SequenceMng {
private static Log log = LogFactory.getLog(SequenceMng.class);
PersistenceManager pm=new PersistenceManager();
/**
* 新增一个序列。参数只有名称。
*/
public void addSequence(String seqName) throws BOException{
addSequence(seqName, "");
}
/**
* 新增一个序列。参数是名称和一个描述。
*/
public void addSequence(String seqName,String strDesc) throws BOException{
try {
Sequence seq = new Sequence();
seq.setName(seqName);
seq.setCurrvalue(1);
seq.setInfo(strDesc);
pm.saveObj(seq);
} catch (Exception ex) {
log.error("新建序列"+seqName+"时出错!");
throw new BOException("新建序列"+seqName+"时出错!",ex);
}
}
/**
* 删除一个序列。参数是名称。
* delete User where name='bush'
*/
public void delSequence(String seqName) throws BOException{
try {
pm.deleteObjByHql("delete Sequence where name='"+seqName+"'");
} catch (Exception ex) {
log.error("删除序列"+seqName+"时出错!");
throw new BOException("删除序列"+seqName+"时出错!",ex);
}
}
/**
* 返回所有序列名称的list。
*/
public List getAllSequenceName() throws BOException{
List ret=null;
String hql = "select name from Sequence ";
try {
ret = pm.queryObjs(hql);
log.info("一共有" + ret.size()+"条记录");
log.info(ret);
} catch (Exception e) {
log.error("查询所有的序列时出错!");
throw new BOException("查询所有的序列时出错!",e);
}
return ret;
}
/**
* 得到某个序列的值。
*/
public int getSequence(String seqName) {
int ret = 0;
String hql = "from Sequence where name='"+seqName+"'";
try {
List list = pm.queryObjs(hql);
if(list==null || list.size()<1){
addSequence(seqName);
ret = 1;
log.error("没有"+seqName+"这个序列,现在是1!");
// throw new BOException("没有"+seqName+"这个序列,请确认!");
}
else{
Sequence sequence = (Sequence) list.get(0);
sequence.setCurrvalue(sequence.getCurrvalue()+1);
pm.updateObj(sequence);
ret=sequence.getCurrvalue();
}
} catch (Exception e) {
log.error("取序列时出错!");
throw new BOException("查询所有的序列时出错!",e);
}
return ret;
}
/**
* 得到某个序列的值。
*/
public Integer getSequence(String seqName, String info) {
int ret = 0;
String hql = "from Sequence where name='"+seqName+"'";
try {
List list = pm.queryObjs(hql);
if(list==null || list.size()<1){
addSequence(seqName,info);
ret = 1;
log.error("没有"+seqName+"这个序列,现在是1!");
// throw new BOException("没有"+seqName+"这个序列,请确认!");
}
else{
Sequence sequence = (Sequence) list.get(0);
sequence.setCurrvalue(sequence.getCurrvalue()+1);
sequence.setInfo(info);
pm.updateObj(sequence);
ret=sequence.getCurrvalue();
}
} catch (Exception e) {
log.error("取序列时出错!");
throw new BOException("查询所有的序列时出错!",e);
}
return new Integer(ret);
}
public static void main(String[] args) {
SequenceMng sequencemng = new SequenceMng();
Integer seq = sequencemng.getSequence("s_person","s_person");
System.out.println(seq);
sequencemng.delSequence("s_person");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -