首页 > IT职业 > IT生活 > 【JAVA高级】——吃透JDBC中的事务及事务的封装
package com.cxyzxc.examples08;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class AccountDaoImpl {
// 新增:插入一个 Account 对象到数据库中
public int insert(Account account,Connection connection) {
PreparedStatement preparedStatement = null;
String sql = "insert into account values(?,?,?,?)";
try {
preparedStatement = connection.prepareStatement(sql);
// 绑定参数
preparedStatement.setString(1, account.getCardNo());
preparedStatement.setString(2, account.getPassword());
preparedStatement.setString(3, account.getName());
preparedStatement.setDouble(4, account.getBalance());
// 执行 SQL
int result = preparedStatement.executeUpdate();
return result;
} catch (SQLException e) {
e.printStackTrace();
}
return 0;
}
// 删除:根据卡号,删除账号
public int delete(String cardNo,Connection connection) {
PreparedStatement preparedStatement = null;
String sql = "delete from account where cardNo = ?;";
try {
preparedStatement = connection.prepareStatement(sql);
// 绑定参数
preparedStatement.setString(1, cardNo);
// 执行 SQL
int result = preparedStatement.executeUpdate();
return result;
} catch (SQLException e) {
e.printStackTrace();
}
return 0;
}
// 修改
public int update(Account account,Connection connection) {
PreparedStatement preparedStatement = null;
String sql = "update account set password = ?,name = ?,balance = ? where cardNo=?;";
try {
preparedStatement = connection.prepareStatement(sql);
// 绑定参数
preparedStatement.setString(1, account.getPassword());
preparedStatement.setString(2, account.getName());
preparedStatement.setDouble(3, account.getBalance());
preparedStatement.setString(4, account.getCardNo());
// 执行 SQL
int result = preparedStatement.executeUpdate();
return result;
} catch (SQLException e) {
e.printStackTrace();
}
return 0;
}
// 查询单个
public Account select(String cardNo,Connection connection) {
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
Account account = null;
String sql = "select * from account where cardNo = ?";
try {
preparedStatement = connection.prepareStatement(sql);
// 绑定参数
preparedStatement.setString(1, cardNo);
// 执行 SQL
resultSet = 跟单网gendan5.compreparedStatement.executeQuery();
if (resultSet.next()) {
String cardNumber = resultSet.getString("cardNo");
String password = resultSet.getString("password");
String name = resultSet.getString("name");
double balance = resultSet.getDouble("balance");
account = new Account(cardNumber, password, name, balance);
}
return account;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
// 查询所有
public List<Account> selectAll(Connection connection) {
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
Account account = null;
List<Account> accountList = new ArrayList<Account>();
String sql = "select * from account;";
try {
preparedStatement = connection.prepareStatement(sql);
// 执行 SQL
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
String cardNumber = resultSet.getString("cardNo");
String password = resultSet.getString("password");
String name = resultSet.getString("name");
double balance = resultSet.getDouble("balance");
account = new Account(cardNumber, password, name, balance);
accountList.add(account);
}
return accountList;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946337/viewspace-2921663/ ,如需转载,请注明出处,否则将追究法律责任。