如何在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 %?%,这样写是错误的。
如果没有%又不能查询,所以我们可以手动的在?参数前面加个%,
这样就可以实现模糊查询了。

发布了5 篇原创文章 · 获赞 5 · 访问量 175

猜你喜欢

转载自blog.csdn.net/gradonisis/article/details/105323751