您的位置:首页 > 数据库

preparedstatement对数据库的模糊查询

2016-09-17 19:50 141 查看
在对目标名称按照关键字查询时,自己遇到了问题,即从后台数据库得到值时,因为preparedstatement是预编译sql语句,所以,对于这样的一条like的sql语句不知道该如何处理。

首先:

在数据库中查询:





代码:

public List<TargetBean> guanjianziguolv(String s ){
Connection con = DBUtil.getPoolConnection();
PreparedStatement ps = null;
ArrayList<TargetBean> result = new ArrayList<>();
TargetBean target = null;
ResultSet rs = null;
try{
String sql = "select * FROM mubiao WHERE mingcheng LIKE ? ORDER BY mubiaoid ASC";
ps=con.prepareStatement(sql);
ps.setString(1,"%"+s+"%");
rs=ps.executeQuery();
while(rs.next()){
target = new TargetBean();
target.setMubiaoid(rs.getInt("mubiaoid"));
System.out.println("guolvchaxun");
System.out.println(rs.getInt("mubiaoid"));
target.setMingcheng(rs.getString("mingcheng"));
System.out.println(rs.getString("mingcheng"));
target.setLeixingid(rs.getInt("leixingid"));
target.setZhongyaodu(rs.getInt("zhongyaodu"));
target.setJinjidu(rs.getInt("jinjidu"));
target.setShifouwancheng(rs.getString("shifouwancheng"));
target.setKaishiriqi(rs.getDate("kaishiriqi"));
target.setJieshuriqi(rs.getDate("jieshuriqi"));
target.setMubiaoLeixingBean(getMubiaoleixingById(rs.getInt("leixingid")));
result.add(target);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try{
con.close();
}catch (SQLException ex){
ex.printStackTrace();
}
}
return result;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐