当前位置:首页 > Java

java如何执行sql语句

2026-03-03 14:27:34Java

执行SQL语句的方法

在Java中执行SQL语句通常需要通过JDBC(Java Database Connectivity)API实现。以下是具体实现步骤:

加载数据库驱动

使用Class.forName()方法加载特定数据库的JDBC驱动。不同数据库的驱动类名不同:

Class.forName("com.mysql.jdbc.Driver"); // MySQL
// 或
Class.forName("oracle.jdbc.driver.OracleDriver"); // Oracle

建立数据库连接

通过DriverManager.getConnection()方法建立与数据库的连接,需要提供数据库URL、用户名和密码:

String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
Connection connection = DriverManager.getConnection(url, username, password);

创建Statement对象

使用Connection对象创建StatementPreparedStatement对象:

Statement statement = connection.createStatement(); // 简单Statement
// 或
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM users WHERE id = ?"); // 参数化查询

执行SQL语句

根据SQL语句类型选择不同的执行方法:

  • 查询语句(SELECT):使用executeQuery()方法,返回ResultSet对象:

    java如何执行sql语句

    ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
    while (resultSet.next()) {
        String name = resultSet.getString("name");
        int age = resultSet.getInt("age");
    }
  • 更新语句(INSERT/UPDATE/DELETE):使用executeUpdate()方法,返回受影响的行数:

    int rowsAffected = statement.executeUpdate("UPDATE users SET age = 30 WHERE name = 'John'");
  • 通用执行(任意SQL):使用execute()方法,返回布尔值表示是否为查询结果:

    boolean isResultSet = statement.execute("SQL语句");

处理PreparedStatement参数

若使用PreparedStatement,需通过setXxx()方法设置参数:

java如何执行sql语句

preparedStatement.setInt(1, 1001); // 设置第一个参数为1001
ResultSet rs = preparedStatement.executeQuery();

释放资源

操作完成后必须关闭所有数据库资源,按ResultSetStatementConnection顺序:

resultSet.close();
statement.close();
connection.close();

现代Java建议使用try-with-resources自动关闭资源:

try (Connection conn = DriverManager.getConnection(url, username, password);
     Statement stmt = conn.createStatement()) {
    // 执行SQL操作
}

事务管理

需要事务支持时,通过Connection对象控制:

connection.setAutoCommit(false); // 关闭自动提交
try {
    // 执行多个SQL
    connection.commit(); // 提交事务
} catch (SQLException e) {
    connection.rollback(); // 回滚事务
}

使用连接池(推荐)

生产环境建议使用连接池(如HikariCP、DBCP):

HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost/mydb");
config.setUsername("user");
config.setPassword("password");
HikariDataSource ds = new HikariDataSource(config);
Connection connection = ds.getConnection();

注意事项

  • SQL语句字符串拼接易导致注入攻击,务必使用PreparedStatement
  • 不同数据库的JDBC URL格式可能不同,需参考具体数据库文档。
  • JDBC 4.0+支持自动驱动加载,可省略Class.forName()步骤。

标签: 语句java
分享给朋友:

相关文章

如何查看java版本

如何查看java版本

查看 Java 版本的方法 通过命令行工具 打开终端(Windows 为命令提示符或 PowerShell,macOS/Linux 为 Terminal),输入以下命令并回车: java -ve…

如何打开java

如何打开java

打开 Java 程序的方法 通过命令行运行 Java 程序 确保已安装 Java Development Kit (JDK) 并配置环境变量。使用 javac 编译 .java 文件,生成 .clas…

java如何编译

java如何编译

编译Java程序的基本步骤 安装JDK(Java Development Kit)并配置环境变量。确保javac和java命令可在命令行中运行。JDK是编译和运行Java程序的必备工具。 创建Jav…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…

java如何创建类

java如何创建类

创建类的基本语法 在Java中,类通过class关键字定义,语法如下: [访问修饰符] class 类名 { // 成员变量(属性) // 构造方法 // 成员方法 }…

如何学好java

如何学好java

理解基础概念 掌握Java的核心概念是学习的基础。包括数据类型、变量、运算符、控制流(如循环和条件语句)、数组等。理解面向对象编程(OOP)的四大特性:封装、继承、多态和抽象。 实践编程练习 通过实…