preparedstatement对数据库的模糊查询

来源:互联网 发布:施耐德base 知乎 编辑:程序博客网 时间:2024/05/20 02:28

在对目标名称按照关键字查询时,自己遇到了问题,即从后台数据库得到值时,因为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;    }

这里写图片描述

0 0
原创粉丝点击