Java数据库调用代码编写指南

准备工作
在编写Java数据库调用代码之前,我们需要做好以下准备工作:
- 确定数据库类型:如MySQL、Oracle、SQL Server等。
- 安装数据库驱动:根据所使用的数据库类型,下载并安装相应的数据库驱动。
- 配置数据库连接:在Java项目中,配置数据库连接信息,包括数据库URL、用户名、密码等。
连接数据库
在Java中,我们可以使用JDBC(Java Database Connectivity)来连接数据库,以下是一个简单的示例代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseConnection {
public static Connection getConnection() throws SQLException {
String url = "jdbc:mysql://localhost:3306/数据库名?useSSL=false&serverTimezone=UTC";
String username = "用户名";
String password = "密码";
return DriverManager.getConnection(url, username, password);
}
}
执行SQL语句

查询操作
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class QueryExample {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = DatabaseConnection.getConnection();
String sql = "SELECT * FROM 表名 WHERE 条件";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
// 处理查询结果
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
if (ps != null) ps.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
插入操作
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class InsertExample {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DatabaseConnection.getConnection();
String sql = "INSERT INTO 表名 (列名1, 列名2) VALUES (?, ?)";
ps = conn.prepareStatement(sql);
ps.setString(1, "值1");
ps.setString(2, "值2");
int result = ps.executeUpdate();
if (result > 0) {
System.out.println("插入成功");
} else {
System.out.println("插入失败");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (ps != null) ps.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
更新操作
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UpdateExample {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DatabaseConnection.getConnection();
String sql = "UPDATE 表名 SET 列名1 = ? WHERE 条件";
ps = conn.prepareStatement(sql);
ps.setString(1, "新值");
int result = ps.executeUpdate();
if (result > 0) {
System.out.println("更新成功");
} else {
System.out.println("更新失败");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (ps != null) ps.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
删除操作
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DeleteExample {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DatabaseConnection.getConnection();
String sql = "DELETE FROM 表名 WHERE 条件";
ps = conn.prepareStatement(sql);
int result = ps.executeUpdate();
if (result > 0) {
System.out.println("删除成功");
} else {
System.out.println("删除失败");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (ps != null) ps.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
事务处理

在执行多个SQL语句时,我们需要对事务进行处理,以确保数据的一致性,以下是一个示例代码:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class TransactionExample {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DatabaseConnection.getConnection();
conn.setAutoCommit(false); // 关闭自动提交
String sql1 = "INSERT INTO 表名 (列名1, 列名2) VALUES (?, ?)";
ps = conn.prepareStatement(sql1);
ps.setString(1, "值1");
ps.setString(2, "值2");
ps.executeUpdate();
String sql2 = "UPDATE 表名 SET 列名1 = ? WHERE 条件";
ps = conn.prepareStatement(sql2);
ps.setString(1, "新值");
ps.executeUpdate();
conn.commit(); // 提交事务
} catch (SQLException e) {
try {
if (conn != null) conn.rollback(); // 回滚事务
} catch (SQLException ex) {
ex.printStackTrace();
}
e.printStackTrace();
} finally {
try {
if (ps != null) ps.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
通过以上步骤,我们可以编写出简洁、高效的Java数据库调用代码,在实际开发过程中,还需根据具体需求进行调整和优化。


















