• Java程序设计——execute()与executeUpdate()(JDBC编程)


    目录

    一、execute()

    二、executeUpdate


    一、execute()

    execute():几乎可以执行任何SQL语句,返回值是boolean值,表明该SQL语句是否返回ResultSet对象

    boolean值:

    • true:使用getResultSet()方法获取返回的ResultSet对象
    • false:使用getUpdateCount()方法获取返回所影响的行数
    1. import java.sql.*;
    2. public class TestDemo {
    3. public static void main(String[] args) {
    4. JDBCDemo jdbc = new JDBCDemo();
    5. }
    6. }
    7. class JDBCDemo{
    8. public JDBCDemo() {
    9. try {
    10. // 1.
    11. Class.forName("com.mysql.cj.jdbc.Driver");
    12. // 2.
    13. Connection con = DriverManager.getConnection(
    14. "jdbc:mysql://localhost:3306/de?characterEncoding=gb2312&serverTimezone=UTC&useSSL=false", "root", "root");
    15. // 3.
    16. Statement stmt = con.createStatement();
    17. // 4.
    18. String sql = "SELECT * FROM tb_student"; // sql语句
    19. Boolean bool = stmt.execute(sql);
    20. System.out.println("bool = " + bool);
    21. if (bool) {
    22. ResultSet rs = stmt.getResultSet(); // 获取ResultSet对象
    23. // 5.
    24. while(rs.next()){
    25. int studentNo = rs.getInt(1); // 指定第几列
    26. String studentName = rs.getString("studentName"); // 指定列名称
    27. System.out.println(studentNo + "---" + studentName);
    28. }
    29. // 6.
    30. rs.close();
    31. stmt.close();
    32. con.close();
    33. }
    34. } catch (SQLException | ClassNotFoundException e) {
    35. e.printStackTrace();
    36. }
    37. }
    38. }


    二、executeUpdate

    executeUpdate():用于执行DDL和DML语句,返回值为所影响的行数

    executeUpdate增强版(Java8新增):executeLargeUpdate(),返回值为long类型,适用于DML语句的记录超过Interger.MAX_VALUES的情况

    1. import java.sql.*;
    2. public class TestDemo {
    3. public static void main(String[] args) throws ClassNotFoundException, SQLException {
    4. JDBCDemo jdbc = new JDBCDemo();
    5. }
    6. }
    7. class JDBCDemo{
    8. public JDBCDemo() throws SQLException, ClassNotFoundException {
    9. // 1.
    10. Class.forName("com.mysql.cj.jdbc.Driver");
    11. // 2.
    12. Connection con = DriverManager.getConnection(
    13. "jdbc:mysql://localhost:3306/de?characterEncoding=gb2312&serverTimezone=UTC&useSSL=false", "root", "root");
    14. // 3.
    15. Statement stmt = con.createStatement();
    16. // 4.
    17. String sql = "UPDATE tb_student SET studentName='狗蛋' WHERE studentNo=2013110101"; // sql语句
    18. int res = stmt.executeUpdate(sql);
    19. // 5.
    20. System.out.println( "所影响的记录行数:" + res );
    21. // 6
    22. stmt.close();
    23. con.close();
    24. }
    25. }


  • 相关阅读:
    双非本科的保研总结
    【文末送书】全栈开发流程——后端连接数据源(二)
    Transformers are RNNs (linear transformer)论文阅读
    Java中DateTimeFormatter的使用方法和案例
    点亮LED灯三盏
    【JavaWeb】第三章 JavaScript事件
    Vue复刻华为官网 (一)
    Elasticsearch单机部署(Linux)
    什么是用户体验测试? 为什么很重要?
    JMeter 如何实现 Elasticsearch 8.X 性能测试?
  • 原文地址:https://blog.csdn.net/Mr_Morgans/article/details/125583512