如何用Java写一个查询demo
时间: 2024-10-27 19:14:30 浏览: 11
videoCode-master_java_DEMO_视频网站后台_
在Java中编写一个简单的数据库查询示例通常涉及到JDBC(Java Database Connectivity)API。以下是一个基本的步骤:
1. **添加依赖**:首先,你需要在项目中引入数据库驱动,例如MySQL的`mysql-connector-java`。如果你使用Maven,可以在pom.xml文件中添加如下依赖:
```xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version> <!-- 替换为你实际使用的版本 -->
</dependency>
```
2. **加载驱动并连接数据库**:
```java
import java.sql.Connection;
import java.sql.DriverManager;
public class DBQueryDemo {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "username";
String password = "password";
try (Connection connection = DriverManager.getConnection(url, user, password)) {
// 连接成功后可以进行后续操作
} catch (SQLException e) {
System.err.println("Error connecting to the database: " + e.getMessage());
}
}
}
```
3. **创建Statement或PreparedStatement**:
- `Statement`用于标准SQL查询,如`SELECT * FROM table_name WHERE condition;`
- `PreparedStatement`用于预编译SQL,可以防止SQL注入,如`SELECT * FROM table_name WHERE column = ?;`,然后通过`connection.prepareStatement()`方法设置参数。
4. **执行查询**:
使用`executeQuery()`方法获取结果集,如果查询的是数据,会返回`ResultSet`;如果是更新操作,返回`int`表示受影响的行数。
5. **处理结果**:
对于`ResultSet`,可以遍历每一行,提取需要的数据。
这里是完整的示例:
```java
import java.sql.*;
public class DBQueryDemo {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "username";
String password = "password";
String query = "SELECT * FROM users WHERE age > ?";
try (Connection connection = DriverManager.getConnection(url, user, password);
PreparedStatement pstmt = connection.prepareStatement(query)) {
pstmt.setInt(1, 18); // 设置参数
ResultSet resultSet = pstmt.executeQuery();
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.printf("ID: %d, Name: %s%n", id, name);
}
} catch (SQLException e) {
System.err.println("Error executing query: " + e.getMessage());
}
}
}
```
阅读全文