NutzCN Logo
问答 拼凑的sql怎么设置多个值?
发布于 2768天前 作者 qq_64f81159 1672 次浏览 复制 上一个帖子 下一个帖子
标签:

前台传的是一个map,里面的key-value数量是不确定的,也不能确定哪个字段有特殊字符,比如这个字段是邮箱等等的 ,现在拼sql用的是insert into aa(id,name,age) value(?,?,?) 这个三个问号已经按照顺序放到一个list中,怎么一次设置到这个sql语句中啊,我看原生sql用不了chain 找了半天没找到。

6 回复

类似于这种public static int insert(String sql, Object... paras) {
return dbPro.update(sql, paras);
}

类似于public void fillStatement(PreparedStatement pst, Object... paras) throws SQLException {
for (int i=0; i<paras.length; i++) {
pst.setObject(i + 1, paras[i]);
}
}

这种。

难道前台传过来的是SQL???

public void update(@Param("..")NutMap kv) {
        int id = kv.getInt("id");
        kv.remove("id");
        dao.update("t_user_xxxx", Chain.from(kv), Cnd.where("id", "=", id));
}

前台传递的是表名和字段名和字段值得map。。先构建表 然后往表中插入值。

所以何须拼SQL,用我给的方式就能update啦

然后是建表

@At("/create/?")
public void create(String tableName, @Param("..")NutMap kv) {
        kv.set("+*id", 0); // 添加一个主键
        dao.getJdbcExpert().createEntity(dao, dao.getEntityHolder().makeEntity(tableName, kv));
}

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