使用Java中的JDBC按模式搜索记录

前提条件/建议:

  1. 如何在Java中使用JDBC创建表?

  2. 如何在Java中通过JDBC插入记录?

  3. 如何在Java中使用JDBC显示所有记录?

  4. 如何在Java中使用JDBC通过字段显示特定记录?

  5. 如何在Java中使用JDBC删除特定记录?

  6. 如何在Java中使用JDBC编辑记录?

  7. 在Java中使用JDBC使用PreparedStatement插入记录?

  8. 如何在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