【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部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2921663/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 編輯 Java 中的事務 — JDBC 事務和 JTA 事務JavaJDBC
- JDBC中事務的問題JDBC
- JDBC中事務的問題之二JDBC
- 分散式事務之資料庫事務與JDBC事務實現(一)分散式資料庫JDBC
- MySQL高階12-事務原理MySql
- Spring事務(Transaction)管理高階篇一棧式解決開發中遇到的事務問題Spring
- 基於可靠訊息方案的分散式事務(二):Java中的事務分散式Java
- SQL Server 事務及回滾事務SQLServer
- 從JDBC到ORM的事務實現JDBCORM
- MongoDB 中的事務MongoDB
- MyBatis中的事務MyBatis
- Redis 中的事務Redis
- oracle 中的事務Oracle
- MySql中的事務MySql
- JDBC事務處理設計JDBC
- java事務的處理Java
- Spring事務專題(四)Spring中事務的使用、抽象機制及模擬Spring事務實現Spring抽象
- MySQL 中的事務理解MySql
- JDBC 事務(一) 隔離級別JDBC
- JDBC 事務處理【最終版】JDBC
- 詳解事務模式和Lua指令碼,帶你吃透Redis 事務模式指令碼Redis
- DataSourceUtils 管理參與事務性的JDBC連線JDBC
- JDBC【事務、後設資料、改造JDBC工具類】JDBC
- (16)mysql 中的表鎖定及事務控制MySql
- MySQL中的事務和MVCCMySqlMVC
- MySQL 中的事務詳解MySql
- Spring中的事務控制Spring
- Spring 中的事務管理Spring
- MySQL中的事務處理MySql
- Redis 中的事務分析,Redis 中的事務可以滿足ACID屬性嗎?Redis
- 談談Java事務Java
- 資料庫開發(22)高階事務處理資料庫
- Spring 事務管理高階應用難點剖析Spring
- 本地事務和分散式事務的區別分散式
- 分散式事務(一)—分散式事務的概念分散式
- Redis的事務Redis
- 事務的使用
- 事務使用中如何避免誤用分散式事務分散式