转账示例:Dao层面实现(本例采用QueryRunner来执行sql语句,数据源为C3P0)
Posted 第九种格调的人生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转账示例:Dao层面实现(本例采用QueryRunner来执行sql语句,数据源为C3P0)相关的知识,希望对你有一定的参考价值。
缺点:Dao层面把Service层面的操作完成了,不利于后期的代码修改和重构
1.自行创建C3P0Util
account数据库
2.jar包
3.Dao层面
接口:
package com.learning.dao; import com.learning.domain.Account; public interface AccountDao { /** * 转账 * @param fromname 转出用户 * @param toname 转入用户 * @param money 转账金额 */ public void updateAccount(String fromname,String toname,double money)throws Exception; }
实现类:
package com.learning.dao.impl; import java.sql.SQLException; import org.apache.commons.dbutils.QueryRunner; import com.learning.dao.AccountDao; import com.learning.util.C3P0Util; public class AccountDaoImpl implements AccountDao { public void updateAccount(String fromname, String toname, double money) throws Exception { //创建一个QueryRunner对象 QueryRunner qr = new QueryRunner(C3P0Util.getDataSource()); qr.update("update account set money=money-? where name=?",money,fromname); qr.update("update account set money=money+? where name=?",money,toname); } }
以上是关于转账示例:Dao层面实现(本例采用QueryRunner来执行sql语句,数据源为C3P0)的主要内容,如果未能解决你的问题,请参考以下文章
转账示例:service层面实现(线程管理Connection)(本例采用QueryRunner来执行sql语句,数据源为C3P0)
转账示例:service层面实现(线程管理Connection,AOP思想,动态代理)(本例采用QueryRunner来执行sql语句,数据源为C3P0)
java mysql多次事务 模拟依据汇率转账,并存储转账信息 分层完成 dao层 service 层 client层 连接池使用C3p0 写入库使用DBUtils