NutzCN Logo
问答 sql.setParam(key,value) value值自动加单引号
发布于 2672天前 作者 Leewell1989 1951 次浏览 复制 上一个帖子 下一个帖子
标签:
Sql sql = Sqls.create("update @table1 set state = @state where pledge_id in(select pledge_id from @table2 where apply_no = @applyNo)");
sql.setParam("table1", PledgeEntity.class.getAnnotation(Table.class).value());
sql.setParam("table2", ApplyInfoEntity.class.getAnnotation(Table.class).value());
sql.setParam("state", state);
sql.setParam("applyNo", applyNo);
dao.execute(sql);

setParam是只能支持设置where条件中的变量吗?
如上代码,表名如果用这种方法,就会因为自动加了单引号而导致sql执行时报错。
拼完的sql是这样子的:
update ’table1‘ set state = '1' where pledge_id in(select pledge_id from ’table2' where apply_no = '2017082900001')

3 回复

@是参数,$是变量

@table 改成 $table

来自美丽的 NutzCN

我的锅,翻下文档就好了。

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