preparedStatement对象的execute()、executeUpdate()、executeQuery() 的理解

[size=large][color=blue]【方法说明】[/color][/size]
[size=medium]
public ResultSet [color=red]executeQuery() [/color]throws SQLException
返回一个不为空的结果集

public int [color=red]executeUpdate()[/color] throws SQLException
用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句。
返回:1、返回INSERT、UPDATE或者DELETE语句执行后的更新行数;
2、返回0表示SQL语句没有执行成功。

public boolean [color=red]execute()[/color] throws SQLException
返回:true表示SQL语句执行的结果返回ResultSet对象;
false表示SQL语句执行结果返回的是更新行数或者没有返回。[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PreparedStatement.executeQuery() 方法是用来执行 SELECT 查询语句的。它返回一个 ResultSet 对象,可以通过该对象访问查询结果。使用这种方法可以防止 SQL 注入攻击。 ### 回答2: PreparedStatement是Java中比较常用的数据库操作方式之一,它继承了Statement接口,在使用时将SQL语句预处理成一个包含参数占位符的模板,可以有效减少SQL注入等安全问题的出现。 其中,executeQuery()是PreparedStatement中的一个方法,用于执行一条查询语句并返回一个ResultSet对象,ResultSet包含了查询的结果集合。 executeQuery()的使用方法大致如下: 1. 使用PreparedStatement的getConnection()方法获取数据库连接对象。 2. 使用prepareStatement()方法创建PreparedStatement实例,并将待查询的SQL语句作为参数传入。 3. 如果SQL语句包含参数化的参数,则使用set方法设置参数值。 4. 调用executeQuery()方法执行查询,并将执行结果存储到ResultSet对象中。 5. 使用ResultSet对象获取查询结果,一般使用while循环遍历结果集合并将结果保存到定义好的Java对象中。 在执行executeQuery()方法时,需要注意以下几点: 1. SQL语句必须是查询语句,不能是增删改操作。 2. 如果SQL语句包含参数化的参数,则必须通过set方法设置参数值,否则会抛出异常。 3. 如果查询结果为空,则executeQuery()方法会返回一个空的ResultSet对象,而不是null。 总之,通过使用PreparedStatement以及其中的executeQuery()方法,我们可以更加安全地处理数据库操作,避免了SQL注入等安全问题的出现,同时还可以提高数据库操作的效率。 ### 回答3: PreparedStatement是Java中的一种预处理语句的方法,可以将SQL语句预处理后再执行。相比于简单的Statement执行SQL语句,PreparedStatement可以提高程序的安全性和效率。 通过PreparedStatement对象执行SQL语句分为两种方法:executeUpdateexecuteQuery。前者主要用于执行INSERT、UPDATE、DELETE语句,而executeQuery则主要用于执行SELECT语句。 executeQuery方法会返回一个ResultSet对象,用于保存查询结果。在执行executeQuery方法时需要传入完整的SQL查询语句。与StatementexecuteQuery方法相比,PreparedStatement的优点在于可以在SQL语句中预编译占位符,避免SQL注入攻击。 比如以下这段代码: String sql = "SELECT * FROM user WHERE username = ? AND password = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, "username"); pstmt.setString(2, "password"); ResultSet rs = pstmt.executeQuery(); 其中,sql语句中的“?”是占位符,代表需要动态传入的参数,可以避免在拼接SQL语句时出现的语法错误。 pstmt.setString(1, "username")和pstmt.setString(2, "password")则是将动态参数传递到占位符中的方法,这里的1和2代表第一个和第二个占位符的位置,可以传入不同类型的参数,如字符串、数字、日期等等。 最后,通过pstmt.executeQuery()方法执行查询并返回一个ResultSet结果集,可以通过结果集获取查询结果。如果查询结果为空,则rs.next()方法返回false。 总之,PreparedStatementexecuteQuery方法可以提高程序的安全性和效率,避免SQL注入攻击,同时还能够支持传入动态参数,方便实现动态查询。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值