如何在Java中写模糊查询
模糊查询是什么?
模糊查询:就是不知到具体内容,只知道部分内容,然后根据部分内容去数据库中查询信息。
数据库中查询:
如:在14班查找姓“张”的同学的信息。 数据库中是:select * from t-student where sname like ‘张%’ and class=14; 其中**%**表示“张”后面不知道有多少字符串, 如果是确认名字是两个字,也可以用 sname like ‘张_’,一个下划线表示后面只有一个字符。
Java中查询:
如:在14班查找姓“张”的同学的信息。 class Tstudent{ String tname =“张%;” int class =14; SqlMy sm =new SqlMy(); sm.xg(tname,class) } class SqlMy{ void xg(String tname,int class){ Connection conn = DriverManager.getConnection(dbURL,dbUser, dbPwd) String sql =“select * from t-student where sname like ? and class=?; ” PreparedStatement pstmt =conn.prepareStatement(sql); ResultSet rs = null;//查询语句专业的代码 try { pstmt.setString(1,tname); pstmt.setInt(2,class); rs=pstmt.executeQuery(); while(rs.next()){//判断是否有下一个值 rs.getInt(“class”) rs.getString(“tname”) rs.getString(“sex”) } } catch (SQLException e) { e.printStackTrace(); } finally { pstmt.close(); conn.close(); //最后记得关流 } }
模糊查询和一般查询在Java中的区别:
模糊查询相对于一般查询来说就是多了个 :like。 但是like不能在java中直接写成:tname like %?%,这样写是错误的。 如果没有%又不能查询,所以我们可以手动的在?参数前面加个%, 这样就可以实现模糊查询了。