NutzCN Logo
问答 var添加的代码中含@符号,执行时没有被替换掉
发布于 2443天前 作者 qq_a42f26f3 1732 次浏览 复制 上一个帖子 下一个帖子
标签:

使用nutz1.60版本,代码如下
String query_sql="select * from demo_test a where 1=1 $autoaddsql";
HashMap param=new HashMap();
param.put("id", 3);
param.put("type", "N");
HashMap var=new HashMap();
var.put("autoaddsql", " and id=@id and a.type=@type");
Dao dao=NutOper.getDbDao("tsg");
Record rec=NutOper.getList(dao, query_sql, param, var);

public static List getList(Dao dao,String exesql,Map<String,Object> param,Map<String,Object> var) {
Sql sql3 = Sqls.create(exesql);
if (var!=null) {
sql3.vars().putAll(var);
}
if (param!=null) {
sql3.params().putAll(param);
}
if (pager!=null) {
sql3.setPager(pager);
}
sql3.setEntity(dao.getEntity(Record.class));
sql3.setCallback(Sqls.callback.entities());
dao.execute(sql3);
List ll=sql3.getList(Record.class);
return ll;
}

查不到记录

8 回复

用"插入代码或日志片段"按钮重新贴一次

String query_sql="select * from demo_test a where 1=1 $autoaddsql";
 HashMap param=new HashMap();
 param.put("id", 3);
 param.put("type", "N");
 HashMap var=new HashMap();
 var.put("autoaddsql", " and id=@id and a.type=@type");
 Dao dao=NutOper.getDbDao("tsg");
 Record rec=NutOper.getList(dao, query_sql, param, var);

public static List getList(Dao dao,String exesql,Map<String,Object> param,Map<String,Object> var) {
Sql sql3 = Sqls.create(exesql);
 if (var!=null) {
 sql3.vars().putAll(var);
 }
 if (param!=null) {
 sql3.params().putAll(param);
 }
 if (pager!=null) {
 sql3.setPager(pager);
 }
 sql3.setEntity(dao.getEntity(Record.class));
 sql3.setCallback(Sqls.callback.entities());
 dao.execute(sql3);
 List ll=sql3.getList(Record.class);
 return ll;
 }

这样写不写的,去看看Sql'Template类

这样写不行的,不支持这种嵌套

一层都不行吗,其实我就一层,不行的话只好用替换字符串方式了

去看看SqlTemplate类

添加回复
请先登陆
回到顶部