⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sequencemng.java

📁 一个专门用来快速开发网站的框架
💻 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 + -