package com.zdp.dao;
import java.sql.Connection;
import java.sql.SQLException;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import com.zdp.domain.Account;
import com.zdp.utils.JDBCUtils;
import com.zdp.utils.TransactionManager;
/**
* DAO层: CRUD
*/
public class AccountDAO {
// 查询账户
public Account findAccountById(int id) throws SQLException {
String sql = "select * from account where id = ?";
Object[] params = {id};
QueryRunner queryRunner = new QueryRunner(JDBCUtils.getDataSource());
return queryRunner.query(sql, new BeanHandler<Account>(Account.class), params);
}
// 更新账户
public void update(Account account) throws SQLException {
String sql = "update account set name = ?, money = ? where id = ?";
Object[] params = {account.getName(), account.getMoney(), account.getId()};
// 从threadLocal中获取连接, 同一个线程拿到的是同一个连接
Connection conn = TransactionManager.getConnection();
QueryRunner queryRunner = new QueryRunner();
queryRunner.update(conn, sql, params);
}
}