NutzCN Logo
问答 对dao().execute()和dao().insert()有疑问,求解答!!!
发布于 2387天前 作者 qq_d08a65b6 2311 次浏览 复制 上一个帖子 下一个帖子
标签:

场景是这样的,我自定义的sql,一个类似调查表的功能。没有用到实体,只有第一次插入数据事成功的,以后的每一次都系更新第一条记录!连主键的值都更新了!我明明写的的“insert into”!!试过官方文档的几种方法都不行,最后自己拼sql还是不行。这个orm是不是装过头了?

public void insert(String tableName, Map<String,String> kv) {
String sql = "insert into $talename ";
String fields = "";
String values = "";
for (String key : kv.keySet()) {
//String value = kv.get(key);
fields += "," + key;
values += ",@" + key;
}
fields="("+fields.substring(1);
values=" values ("+values.substring(1);
fields += ")";
values += ")";
sql+= fields+values;
System.out.println(sql);
Sql s=Sqls.create(sql);
s.setVar("tablename", tableName);
for (String key : kv.keySet()) {
s.setParam(key, kv.get(key));
}
dao().insert(s);
}

3 回复

Sql对象是用dao.execute执行的,无论写的是什么sql语句。

一样,一开始我就是用execute

execute是对的, insert(sql)是错误的. 改成execute, 然后贴日志

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