JDBC模糊查询基本语句

     对于一个学生姓名表,输入姓名中的任意汉字,查询数据库中含有该字的所有学生信息,用到PreparedStatement,和like标志符。其具体函数如下:

void specialselect() {//模糊查询
System.out.println(“请输入大致用户名:” );
Scanner sc=new Scanner(System.in);
String name=sc.nextLine();//输入姓名
try {
Class.forName(demo);//连接定义
Connection conn = DriverManager.getConnection(url,user,pass);//建立连接
//查询语句,名字用?来表示
PreparedStatement stmt = conn.prepareStatement(“select * from student where Sname like?”);
//对于%?%表示在“ ”中会被识别为字符串,于是在变量外添加%
stmt.setString(1,’%’+name+’%’);
//获取查询信息
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
String num = rs.getString(“Snum”);
String name1 = rs.getString(“Sname”);
System.out.println(“学号:” + num + " 用户名:" + name1);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}

重点在于对%name的使用:
PreparedStatement stmt = conn.prepareStatement("select * from student where Sname like?");
        //对于%?%表示在“ ”中会被识别为字符串,于是在变量外添加%
        stmt.setString(1,'%'+name+'%');
        
运行结果:

JDBC模糊查询基本语句_第1张图片

你可能感兴趣的:(JDBC模糊查询基本语句)