前提条件/建议:
如何在Java中使用JDBC创建表?
如何在Java中通过JDBC插入记录?
如何在Java中使用JDBC显示所有记录?
如何在Java中使用JDBC通过字段显示特定记录?
如何在Java中使用JDBC删除特定记录?
如何在Java中使用JDBC编辑记录?
在Java中使用JDBC使用PreparedStatement插入记录?
如何在Java中使用JDBC通过字段(薪水)搜索记录?
创建一个Connection类的对象并连接到数据库。
然后,我们需要输入要搜索记录的名称的模式。之后,我们创建一个查询以从MYSQL表中选择所有数据,其中名称类似于输入模式。
然后,我们通过使用Statement类的方法executeQuery()方法执行查询,并在ResultSet的帮助下打印结果。
数据库详细信息:
主机名:本地主机
端口号:3306
用户名:root
密码:123
数据库名称:demo
表名:员工
Java程序使用JDBC按模式搜索记录
import java.io.DataInputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class SearchByPattern { public static void main(String[] args) { try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); // serverhost = localhost,端口= 3306,用户名= root,密码= 123- Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/demo","root","123"); Statement smt=cn.createStatement(); //创建DataInputStream的对象 DataInputStream KB=new DataInputStream(System.in); //要搜索的输入模式 System.out.print("Enter Pattern:"); String pat=KB.readLine(); //查询选择类似于输入模式的数据 String q="Select * from employees where empname like '%"+pat+"%'"; //执行查询 ResultSet rs=smt.executeQuery(q); //在控制台中打印结果 if(rs.next()) { do{ System.out.println(rs.getString(1)+","+rs.getString(2)+","+rs.getString(3)+","+rs.getString(4)+","+rs.getString(5)); }while(rs.next()); } else { System.out.println("Record Not Found..."); } cn.close(); } catch(Exception e) { System.out.println(e); } } }
输出(在控制台中)
Output (In Console) Enter Pattern: an 100,Aman,10/10/1990,Delhi,35000