private QueryRunner qr=new QueryRunner();

package com.tfy.itheima.dao.impl;




//DAO不能牵扯任何业务逻辑
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;


import com.tfy.itheima.domain.Account;
import com.tfy.itheima.jdbc.util.DbcpUtil;


public class AccountDaoImpl {
private QueryRunner qr=new QueryRunner();
public Account findAccount(String name){
String sql="select * from account where name=?";
try{
return qr.query(DbcpUtil.getConnection(), sql, new BeanHandler<Account>(Account.class),name);

}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}

}
public void update(Account account){
String sql="update account set money=? where name=?";
Object []params={account.getMoney(),account.getName()};
try{
qr.update(DbcpUtil.getConnection(), sql, params);
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}

}
/*public void transfer(String sourceAccount,String targetAccount,float money){
Connection conn=null;
try{
conn=DbcpUtil.getConnection();
conn.setAutoCommit(false);
String sql1="update account set money=money-? where name=?";
Object []params1={money,sourceAccount};

    qr.update(conn,sql1, params1);
    
    int i=1/0;
    
String sql2="update account set money=money+? where name=?";
Object []params2={money,sourceAccount};

    qr.update(conn,sql2, params2);
    
}catch(Exception e){
e.printStackTrace();
try{
conn.rollback();
}catch(Exception e1){
e1.printStackTrace();
}
throw new RuntimeException(e);
}finally{
try {
conn.commit();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}

}
}*/
}

你可能感兴趣的:(private QueryRunner qr=new QueryRunner();)