本文主要是介绍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();的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!