NC65通过BaseDAO操作数据库

完整代码下载链接:https://download.csdn.net/download/d_c_hao/10987189

接口类:

public interface IMyDB {
    /**
     * 根据表名与某一字段条件返回list
     */
    public List> doQueryList(String table, String needField, String condition);
    
    /**
     * 根据表名与某一字段条件返回map
     */
    public Map doQueryMap(String table, String needField, String condition);
    
    /**
     * 使用BaseDAO,根据表名与set条件、where条件进行update操作
     */
    public int doUpdateSql(String table, String setCondition, String whereCondition);
    
    
    /**
     * 使用BaseDAO,根据表名、字段名、值进行insert操作
     */
    public int doInsertSql(String table, String keyName, String keyValue);
    
    /**
     * 删除
     */
    public int doDeleteSql(String table, String whereCon);

}
--------------------

接口实现类:

public class MyDBImpl implements IMyDB {

    private IUAPQueryBS query;

    private IVOPersistence ivo;
    
    private BaseDAO baseDAO;

    /**
     * 获取baseDAO
     * @return
     */
    public BaseDAO getBaseDAO() {
        if(baseDAO == null){
            baseDAO = new BaseDAO();
        }
        return baseDAO;
    }

    public void setBaseDAO(BaseDAO baseDAO) {
        this.baseDAO = baseDAO;
    }

    @Override
    /**
     * 根据表名与某一字段条件返回list
     */
    public List> doQueryList(String table, String needField, String condition){
        String sql = "select "+needField+" from " +table+ " where " +condition;
        List> list = null;
        try {
                list = (List>) getQuery().executeQuery(sql, new MapListProcessor());                
        } catch (BusinessException e) {
            e.printStackTrace();
        }
        return list;
    }
    
    @Override
    /**
     * 根据表名与某一字段条件返回map
     */
    public Map doQueryMap(String table, String needField, String condition){
        String sql = "select "+needField+" from " +table+ " where " +condition;
        Map map = null;
        try {
                map = (Map) getQuery().executeQuery(sql, new MapProcessor());                
        } catch (BusinessException e) {
            e.printStackTrace();
        }
        return map;
    }
    
    @Override
    /**
     * 使用BaseDAO,根据表名与set条件、where条件进行update操作
     */
    public int doUpdateSql(String table, String setCondition, String whereCondition){
        int row = 0;
        //String sql = "update jy_bidsection set approval_state = '2' where def1 = ''";
        String sql = "update "+table+" set "+setCondition+" where "+whereCondition;
        
        try {
            row = getBaseDAO().executeUpdate(sql);
        } catch (DAOException e) {
            e.printStackTrace();
        }
        return row;
    }
    
    @Override
    /**
     * 使用BaseDAO,根据表名与set条件、where条件进行update操作
     */
    public int doInsertSql(String table, String keyName, String keyValue) {
        // TODO 自动生成的方法存根
        int row= 0;
        // insert into jy_cost_base_account(PK_ID,pk_group) values('1','DA01');
        String sql= "insert into " +table+ "(" +keyName+ ") values(" +keyValue+ ")";
        try {
            row= getBaseDAO().executeUpdate(sql);
        } catch (DAOException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }
        return row;
    }    

    @Override
    public int doDeleteSql(String table, String whereCon) {
        // TODO 自动生成的方法存根
        int row= 0;
        String sql= "delete from " +table+ " where " +whereCon;
        try {
            row= getBaseDAO().executeUpdate(sql);
        } catch (DAOException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }
        return row;
    }

    // 获取IUAPQueryBS
    public IUAPQueryBS getQuery() {
        if (query == null) {
            query = (IUAPQueryBS) NCLocator.getInstance().lookup(
                    IUAPQueryBS.class.getName());
        }
        return query;
    }

    public void setQuery(IUAPQueryBS query) {
        this.query = query;
    }

    // 获取IVOPersistence
    public IVOPersistence getIvo() {
        if (ivo == null) {
            ivo = (IVOPersistence) NCLocator.getInstance().lookup(
                    IVOPersistence.class.getName());
        }
        return ivo;
    }

    public void setIvo(IVOPersistence ivo) {
        this.ivo = ivo;
    }

}
 

你可能感兴趣的:(NC平台,数据库)