为了账号安全,请及时绑定邮箱和手机立即绑定

mysql中模糊查询的应用问题?

mysql中模糊查询的应用问题?

素胚勾勒不出你 2019-03-22 16:15:20
首先来一下代码StringBuffer sql = new StringBuffer();        sql.append("select");        sql.append("        f.id,");        sql.append("        f.foodName,");        sql.append("        f.price,");        sql.append("        f.mprice,");        sql.append("        f.intro,");        sql.append("        f.img,");        sql.append("        t.id,");        sql.append("        t.typeName ");        sql.append("from ");        sql.append("        OS_foodInfo f, ");        sql.append("        OS_foodType t ");        sql.append("where 1=1");        sql.append("        and f.foodType_id=t.id ");        List<Object> list = new ArrayList<Object>();        if (foodType_id > 0) {            sql.append("and f.foodType_id = ? ");            list.add(foodType_id);        }        if (foodName != null && !"".equals(foodName.trim())) {            sql.append("and f.foodName like '%");            sql.append("?");            sql.append("%' ");            list.add(foodName);        }        sql.append("limit ?,?");然后来运行后的错误java.sql.SQLException: Wrong number of parameters: expected 3, was given 4 Query: select f.id, f.foodName, f.price, f.mprice, f.intro, f.img, t.id, t.typeName from OS_foodInfo f, OS_foodType t where 1=1 and f.foodType_id=t.id and f.foodType_id = ? and f.foodName like '%?%' limit ?,? Parameters: [1, 虾, 0, 6]是模糊拼接有问题吗?
查看完整描述

4 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

三个问号你给了四个参数


查看完整回答
反对 回复 2019-04-23
?
GCT1015

TA贡献1827条经验 获得超4个赞

你输出一下拼接的 sql 字符串不就能发现了么


查看完整回答
反对 回复 2019-04-23
  • 4 回答
  • 0 关注
  • 558 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信