chaoredsdragon
2019-07-24 13:01
采纳率: 42.9%
浏览 1.0k
已采纳

Jdbc中使用占位符来模糊查询要怎么做

对一个学生表进行模糊查询名字,占位符要怎么写才对,试过多次,不是报错就是返回的查询记录结果是0。。。各位大佬们,模糊查询时如果要使用占位符时要怎么做?

//根据性别和姓名的模糊查询查找学生
        String sql = "select * from student where name like '%?%' and sex = 0;";
        PreparedStatement ps = connection.prepareStatement(sql);
        //ps.setString(1,"精");
        ResultSet rs = ps.executeQuery();
        System.out.println(rs.next());
        while(rs.next()){
            System.out.println("id:"+rs.getInt("id")+
                    "name:"+rs.getString("name")+
                    "sex:"+rs.getBoolean("sex")+
                    "birthday:"+rs.getDate("birthday"));
        }

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • space1103 2019-07-24 13:25
    已采纳

    %不应该写在sql语句上面,应该写成ps.setString(1,"%精%")

    点赞 打赏 评论
  • 毕小宝 2019-07-24 13:41

    按照你的这个写法,模糊搜索的内容应该直接拼接在 ? 的地方。

    String sql = " xxx like '%"+value +"%'"
    
    点赞 打赏 评论

相关推荐 更多相似问题