ITPub博客

首页 > IT职业 > IT生活 > 【JAVA高级】——吃透JDBC中的事务及事务的封装

【JAVA高级】——吃透JDBC中的事务及事务的封装

IT生活 作者:专注的阿熊 时间:2022-11-03 11:41:08 0 删除 编辑

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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-23

  • 博文量
    410
  • 访问量
    276742