forName方法的返回值

本文深入探讨了Java中使用forName方法加载类的过程,详细解释了如何通过Class对象实例化类,并处理ClassNotFoundException异常。

1:

package Test1;

 

publicclass Test5 {

    publicstaticvoid main(String[] args) {

       try {

           Class c=Class.forName("Test1.T");//forName(类路径):返回的是该类的类型

           //将指定类加载到内存中返回的是Class对象,可以通过这个Class对象来创建该Class对象对应的Class

           //比如:Class对象c对应的就是T,通过c.newInstance()就可以创建T类的对象

       } catch (ClassNotFoundException e) {

           e.printStackTrace();

       }

    }

}

 

### Java 中 Statement 对象的方法及其返回值类型 #### 1. `execute(String sql)` 执行给定的 SQL 语句,该语句可以是任何种类的 SQL 语句(`SELECT`、`INSERT`、`UPDATE` 等)。如果第一个结果是一个 `ResultSet` 对象,则返回 `true`;否则返回 `false`[^1]。 ```java boolean hasResults = statement.execute("SELECT * FROM users"); ``` #### 2. `executeQuery(String sql)` 执行给定的 SQL 查询,并返回一个 `ResultSet` 对象。此方法适用于查询操作,例如 `SELECT` 语句[^1]。 ```java ResultSet rs = statement.executeQuery("SELECT * FROM users"); ``` #### 3. `executeUpdate(String sql)` 执行给定的 SQL 语句,该语句可以是 `INSERT`、`UPDATE` 或 `DELETE` 语句,或者是不返回任何内容的 SQL 语句(如 DDL 语句)。返回受影响的行数或 `0` 表示成功但没有返回值[^1]。 ```java int rowsAffected = statement.executeUpdate("INSERT INTO users (name, age) VALUES ('Alice', 30)"); ``` #### 4. `getResultSet()` 检索由先前执行的 `execute` 方法生成的当前 `ResultSet` 对象。如果没有可用的结果集,则返回 `null`。 ```java ResultSet rs = statement.getResultSet(); ``` #### 5. `getUpdateCount()` 检索由先前执行的 `execute` 方法生成的当前更新计数。如果没有可用的更新计数,则返回 `-1`。 ```java int updateCount = statement.getUpdateCount(); ``` #### 6. `close()` 显式关闭 `Statement` 对象。关闭 `Statement` 对象将同时关闭所有相关的 `ResultSet` 对象。 ```java statement.close(); ``` #### 7. `addBatch(String sql)` 将给定的 SQL 命令添加到此 `Statement` 对象的当前命令批次中。通常用于批量插入或更新操作。 ```java statement.addBatch("INSERT INTO users (name, age) VALUES ('Bob', 25)"); ``` #### 8. `executeBatch()` 提交一批命令以供执行,并返回一个数组,其中每个元素表示对应命令的更新计数。如果所有命令都成功执行,则返回值中的每个元素为 `0` 或正整数;如果有命令失败,则抛出 `BatchUpdateException`。 ```java int[] updateCounts = statement.executeBatch(); ``` #### 9. `setEscapeProcessing(boolean enable)` 设置是否启用 SQL 转义处理。默认情况下,转义处理是启用的。如果禁用,则驱动程序不会解析转义语法。 ```java statement.setEscapeProcessing(true); ``` #### 10. `getWarnings()` 检索在此 `Statement` 对象上报告的第一个警告。如果没有警告,则返回 `null`。 ```java SQLWarning warning = statement.getWarnings(); ``` --- ### 示例代码 以下是一个完整的代码示例,展示如何使用 `Statement` 的主要方法: ```java try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "user", "password"); Statement stmt = conn.createStatement()) { // 执行查询并获取 ResultSet ResultSet rs = stmt.executeQuery("SELECT id, name FROM users"); while (rs.next()) { System.out.println(rs.getInt("id") + ": " + rs.getString("name")); } // 执行更新操作 int rowsUpdated = stmt.executeUpdate("UPDATE users SET name='John' WHERE id=1"); System.out.println("Rows updated: " + rowsUpdated); // 批量操作 stmt.addBatch("INSERT INTO users (name, age) VALUES ('Alice', 30)"); stmt.addBatch("INSERT INTO users (name, age) VALUES ('Bob', 25)"); int[] batchResults = stmt.executeBatch(); for (int result : batchResults) { System.out.println("Batch result: " + result); } } catch (SQLException e) { e.printStackTrace(); } ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值