java预编译like书写方式!
1.问题:按照数据库可执行语句书写执行报错如下
1.1导致报错的代码:
String sql2 = "select * from emp where ename like '%?%';";
1.2报错文本:
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
1.3如图:
2.原因
预编译的拼接问题!
3.解决:
3.1思路:
通过concat拼接的方式使得?前后没有多余的单引号;
3.2实现:
String sql = "select * from emp where ename like concat('%',?,'%');";