JdbcTemplet中的queryForList(String sql,Object[],int[])如何进行模糊查询

这是代码:
Object[] params = new Object[]{searchValue};
int[] types = new int[]{Types.VARCHAR};
String sql = "SELECT * FROM T_BILL_INFORMATION tbi WHERE tbi.name like '%'+?+'%'";
getJdbcTemplet.queryForList(sql,params,types);
运行结果报错,说是无效数字这是怎么回事,求大神帮助,我数据库使用的是Oracle

suannai0314
鹳狸媛 楼主的这个问题解决了么?下边的答案能解决问题么?如果可以麻烦点击答案旁的√采纳哦~如果没有也可以将自己的答案贴上然后进行采纳的。
6 年多之前 回复

2个回答

你采用%拼接的方法是通不过编译的,你可以把条件参数值拼接上‘%’作为一个整体,例如sql ‘tbi.name like ? ’中占位符?的实参为‘%小明%’。

String sql = "SELECT * FROM T_BILL_INFORMATION tbi WHERE tbi.name like '%' ? '%'";
?问号两边的空格不能少,

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐