JDBC三(查询)

本文详细介绍如何使用JDBC执行查询语句,包括创建数据库连接、使用Statement和PreparedStatement执行SQL语句,以及通过ResultSet处理查询结果。文章还对比了Statement与PreparedStatement的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JDBC—查询

一.执行查询语句

在执行查询语句前,需要创建数据库连接和Statement实例,然后调用executeQuery方法,查询结果会保存到ResultSet实例里面,代码如下:

public static void main(String[] args) throws Exception {
		Class.forName("com.mysql.jdbc.Driver");

		Connection connection = null;
		Statement statement = null;
		ResultSet resultSet = null;
		try {
			String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";
			connection = DriverManager.getConnection(url, "root", "123456");

			statement = connection.createStatement();
			String sql = "select * from user";
			resultSet = statement.executeQuery(sql);

			resultSet.beforeFirst();
			while (resultSet.next()) {
				System.out.println(resultSet.getString("name"));
			}
		} catch (Throwable t) {
			t.printStackTrace();
		} finally {
			if (resultSet != null) {
				resultSet.close();
			}
			if (statement != null) {
				statement.close();
			}
			if (connection != null) {
				connection.close();
			}
		}

	}

二.Statement

Statement接口用于执行SQL语句,获取Statement实例后,可以使用它执行数据库查询或数据库更新操作。

三.PreparedStatement

PreparedStatement是一种特殊的Statement对象,与Statement相比PreparedStatement具有更多的优点,具体如下:

  • 易于将参数插入SQL语句中。
  • 易于重用PreparedStatement新参数值。
  • 可以提高已执行语句的性能。
  • 实现更轻松的批量更新。
String sql = "select * from person where id=? and name=?";

PreparedStatement preparedStatement = connection.prepareStatement(sql);

preparedStatement.setString(1, "001");
preparedStatement.setString(2, "test");

四.ResultSet

ResultSet接口表示数据库查询的结果记录集,要迭代ResultSet可以使用next()方法,如果ResultSet具有下一条记录,则该方法返回true,并将指针移动到下一条记录,如果没有更多记录,则n返回false。如果想要访问每条记录的列值,可以通过调用getXXX()获取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值