我正在尝试使用预准备语句代替简单的语句执行。当我运行查询时,它会抛出一个错误。我正在尝试两种方法来准备语句查询。
一个是使用?在参数
SELECT b.*,p.value,d.value as dps
FROM emp b,
dept p,
salary d
where projectid= ?
and p.id= ?
and d.id= ?
第二个是使用命名参数
SELECT b.*,p.value,d.value as dps
FROM emp b,
dept p,
salary d
where projectid= :projectid
and p.id= :id
and d.id= :dps
当我尝试设置参数时
psmt.setString(1, projectid);
psmt.setInt(2, id);
psmt.setInt(3, dps);
它会抛出错误
"不能使用带有查询字符串的查询方法 的PreparedStatement"
是否有任何jar文件要添加到项目lib文件夹中,如果我再次使用psmt.setString("projectid",projectid);
则会抛出错误。