java 连接数据库,拼接sql后执行sql语句,完整实例
时间: 2024-10-27 10:15:14 浏览: 18
thinkPHP框架中执行原生SQL语句的方法
在 Java 中连接数据库并执行 SQL 通常需要使用 JDBC (Java Database Connectivity) API。以下是一个完整的实例,演示了如何连接 MySQL 数据库、动态拼接 SQL 语句并执行:
首先,确保已添加 MySQL 驱动到项目中。如果你使用 Maven,可以在 `pom.xml` 中添加以下依赖:
```xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version> <!-- 或者你的版本 -->
</dependency>
```
然后,你可以使用以下代码片段来完成任务:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class JdbcExample {
private static final String DB_URL = "jdbc:mysql://localhost:3306/mydatabase";
private static final String USER = "username"; // 你的数据库用户名
private static final String PASS = "password"; // 你的数据库密码
public static void main(String[] args) {
try {
// 通过DriverManager获取连接
Connection connection = DriverManager.getConnection(DB_URL, USER, PASS);
// 创建一个SQL查询,这里使用预编译的PreparedStatement防止SQL注入攻击
String sql = "SELECT * FROM employees WHERE department = ?";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
// 绑定动态值,这里是部门ID
int departmentId = 1; // 根据实际情况替换
preparedStatement.setInt(1, departmentId);
// 执行查询
ResultSet resultSet = preparedStatement.executeQuery();
// 处理结果集
while (resultSet.next()) {
System.out.println("ID: " + resultSet.getInt("id"));
System.out.println("Name: " + resultSet.getString("name"));
// ... 其他字段处理
}
// 关闭资源
resultSet.close();
preparedStatement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
阅读全文