2 cjq 371989 cjq_371989 于 2013.12.23 11:28 提问

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

2个回答

YangRuiHong
YangRuiHong   2013.12.23 16:34

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

xhlim
xhlim   2015.09.21 15:37

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!