1、在“控制器”依据业务逻辑生成int[]数组。
示例:
/**
* 获取部门下的所有用户
*/
String dept_id ='0101' ;
String sql ="SELECT id FROM sys_user t WHERE t.dept_id=?";
List<Record> list = Db.find(sql, dept_id);
int[] ids = new int[list.size()];
int i = 0 ;
for(Record r: list){
ids[i] = r.getBigDecimal("id").intValue();
i++;
}
Kv cond = Kv.by("ids", ids);
SqlPara sqlPara = Db.getSqlPara("sys.user_list", cond);
Page<Record> pageRecord = Db.paginate(pageNumber, pageSize, sqlPara);
//下面的render语句是我自己封装的,以你们实际的为准喔 ^_^
renderDataGrid(pageRecord);
2、在SQL语句中使用for循环遍历生成占位符?。
示例:
#namespace("sys")
#sql("user_list")
select * from sys_user
where t.dept_id in (
#for(x:ids)
#(for.index == 0 ? "" : ",") #para(x)
#end
)
#end
#end