语法解析(rs.next())

本文详细解释了 ResultSet.next() 方法的工作原理,此方法用于在 Java 数据库操作中移动结果集的指针。通过示例说明如何使用该方法遍历结果集,并介绍了与之相关的 POJO 类设置。

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

语法解析(rs.next())

 

 

 

ResultSet.next()方法
将指针从当前位置下移一行。ResultSet 指针最初位于第一行之前;第一次调用 next 方法使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。 如果如果新的当前行有效,则返回 true;如果不存在下一行,则返回 false 
s.set是你自己定义的pojo吧,当然可以少一个了,没有顺序的。。。。

 

 

 

rs.next(); 是游标向下移动一行的意思 ,放在while循环里面做循环条件,就是如果有下一行的意思。并且执行了游标的向下移动。
五个设置能改变顺序但是括号里面的参数也要一一对应。
比如下面这样也是可以的
while (rs.next()) {
s.setAge(rs.getInt("age"));
s.setBir(rs.getTimestamp("birthday"));
s.setcName(rs.getString("cid"));
s.setName(rs.getString("name"));
s.setId(rs.getInt("id"));

``` package jdbc; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Scanner; /** * 用户登录功能 * * 程序启动后,要求用户输入用户名和密码,然后判断用户名和密码 * 用该用户名和密码做为过滤条件去user表中查询对应记录 * 如果查询到记录则表示登录信息与曾经注册时输入的信息一致,那么登录成功,否则登录失败。 * * SELECT id, username, password * FROM user * WHERE username='用户输入的用户名' and password='用户输入的密码' */ public class LoginDemo { public static void main(String[] args) { System.out.println("欢迎来到登录界面"); Scanner scanner = new Scanner(System.in); System.out.println("请输入用户名:"); String username = scanner.next(); System.out.println("请输入密码:"); String password = scanner.next(); if ("exit".equals(username)) { System.out.println("退出程序"); return; } try { Connection connection = DBUtil.getConnection(); Statement statement = connection.createStatement(); String sql = "SELECT * FROM user " + "WHERE username='" + username + "' AND password='" + password + "'"; ResultSet rs = statement.executeQuery(sql); if (rs.next()){ System.out.println("登录成功"); }else { System.out.println("登录失败"); } } catch (SQLException e) { e.printStackTrace(); } } }```"C:\Program Files\Java\jdk-17\bin\java.exe" "-javaagent:D:\IntelliJ IDEA 2024.3.4\lib\idea_rt.jar=64463" -Dfile.encoding=UTF-8 -classpath D:\java-student\JSD2502_SSM\JDBC\target\classes;C:\Users\2003q\.m2\repository\mysql\mysql-connector-java\8.0.15\mysql-connector-java-8.0.15.jar;C:\Users\2003q\.m2\repository\com\google\protobuf\protobuf-java\3.6.1\protobuf-java-3.6.1.jar jdbc.LoginDemo 欢迎来到登录界面 请输入用户名: aiania 请输入密码: 1' OR '1'='1 java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1''' at line 1 at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:1218) at jdbc.LoginDemo.main(LoginDemo.java:38) 进程已结束,退出代码为 0
03-26
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值