AuthUser auth= (AuthUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
String orgids = (String) auth.getUnitInfo().get("UNITSEQ");
StringBuffer sql = new StringBuffer(" SELECT PM.ID ,PM.AREA, PM.DIR_TYPE ,PM.DIR_NAME,PM.PARENT_DIR_ID,PM.ORG_ID FROM PMA_F_PARAM_MENU PM ");
sql.append(" WHERE STAT_FLAG '" + PmaConstantDefine.STST_FLAG_UNEFFECT + "' " );
sql.append(" AND ((PM.AREA = '0' AND PM.ORG_ID = '"+auth.getUnitId()+"') OR (PM.AREA = '1' AND PM.ORG_ID IN ("+orgids+")))");
//如果是中后台,则查询所有条线
if ("99".equals(bussNos.toString())) {//如果是中后台条线,可以查看所有条线
bussNos = new StringBuffer("");
bussNos.append("01,02,98,99");
}
sql.append(" and PM.BUSS_SYS_NO in('"+bussNos.toString().replace(",", "','")+"') ");
setPrimaryKey(" PM.id");
datasource = ds;
SQL = sql.toString();
我这这样的代码太多了,不过并没有专门的例子。 这是查询方法里的一段代码,你可以参考如何根据条件判断添加SQL。