怎么在Java中增删改查数据库的内容,我的数据库里有五列,两列的数据是int还有三列是string,请给我具体的代码
时间: 2024-03-03 07:50:08 浏览: 65
好的,以下是Java使用JDBC进行增删改查操作的示例代码:
```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DatabaseOperation {
// 数据库连接相关信息
private static final String URL = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";
private static final String USERNAME = "root";
private static final String PASSWORD = "password";
// 插入数据
public static void insertData(int col1, String col2, int col3, String col4, String col5) throws SQLException {
Connection conn = null;
PreparedStatement pstmt = null;
try {
// 获取数据库连接
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
// 构造SQL语句,使用?占位符
String sql = "INSERT INTO tablename (col1, col2, col3, col4, col5) VALUES (?, ?, ?, ?, ?)";
// 创建PreparedStatement对象,预编译SQL语句
pstmt = conn.prepareStatement(sql);
// 设置占位符的值
pstmt.setInt(1, col1);
pstmt.setString(2, col2);
pstmt.setInt(3, col3);
pstmt.setString(4, col4);
pstmt.setString(5, col5);
// 执行SQL语句,返回受影响的行数
int rows = pstmt.executeUpdate();
System.out.println("插入了" + rows + "行数据");
} finally {
// 关闭连接和Statement对象
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
}
}
// 查询数据
public static void queryData(int id) throws SQLException {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// 获取数据库连接
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
// 构造SQL语句,使用?占位符
String sql = "SELECT * FROM tablename WHERE id = ?";
// 创建PreparedStatement对象,预编译SQL语句
pstmt = conn.prepareStatement(sql);
// 设置占位符的值
pstmt.setInt(1, id);
// 执行SQL语句,返回查询结果
rs = pstmt.executeQuery();
// 处理查询结果
while (rs.next()) {
int col1 = rs.getInt("col1");
String col2 = rs.getString("col2");
int col3 = rs.getInt("col3");
String col4 = rs.getString("col4");
String col5 = rs.getString("col5");
System.out.println(col1 + "\t" + col2 + "\t" + col3 + "\t" + col4 + "\t" + col5);
}
} finally {
// 关闭连接、Statement对象和ResultSet对象
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
}
}
// 更新数据
public static void updateData(int id, int col1, String col2, int col3, String col4, String col5) throws SQLException {
Connection conn = null;
PreparedStatement pstmt = null;
try {
// 获取数据库连接
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
// 构造SQL语句,使用?占位符
String sql = "UPDATE tablename SET col1 = ?, col2 = ?, col3 = ?, col4 = ?, col5 = ? WHERE id = ?";
// 创建PreparedStatement对象,预编译SQL语句
pstmt = conn.prepareStatement(sql);
// 设置占位符的值
pstmt.setInt(1, col1);
pstmt.setString(2, col2);
pstmt.setInt(3, col3);
pstmt.setString(4, col4);
pstmt.setString(5, col5);
pstmt.setInt(6, id);
// 执行SQL语句,返回受影响的行数
int rows = pstmt.executeUpdate();
System.out.println("更新了" + rows + "行数据");
} finally {
// 关闭连接和Statement对象
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
}
}
// 删除数据
public static void deleteData(int id) throws SQLException {
Connection conn = null;
PreparedStatement pstmt = null;
try {
// 获取数据库连接
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
// 构造SQL语句,使用?占位符
String sql = "DELETE FROM tablename WHERE id = ?";
// 创建PreparedStatement对象,预编译SQL语句
pstmt = conn.prepareStatement(sql);
// 设置占位符的值
pstmt.setInt(1, id);
// 执行SQL语句,返回受影响的行数
int rows = pstmt.executeUpdate();
System.out.println("删除了" + rows + "行数据");
} finally {
// 关闭连接和Statement对象
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
}
}
}
```
使用时,只需要将其中的`tablename`替换为实际的表名,调用相应的方法即可。例如,插入一条数据:
```
DatabaseOperation.insertData(1, "hello", 2, "world", "!");
```
其中的数字和字符串是具体的列值。查询一条数据:
```
DatabaseOperation.queryData(1);
```
其中的数字是主键id的值。更新一条数据:
```
DatabaseOperation.updateData(1, 3, "hi", 4, "there", ".");
```
其中的数字和字符串是需要更新的列值,还需要指定主键id的值。删除一条数据:
```
DatabaseOperation.deleteData(1);
```
其中的数字是主键id的值。
阅读全文