accountservicehbnimpl.java

来自「加拿大达内科技有限公司配需java程序员的上课时的代码」· Java 代码 · 共 155 行

JAVA
155
字号
package com.sd0709.bank.biz.service;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.sd0709.bank.biz.entity.Account;
import com.sd0709.bank.persistent.AccountDAOFactory;
import com.sd0709.bank.persistent.DataException;
import com.sd0709.bank.persistent.IAccountDAO;
import com.sd0709.bank.util.HbnUtil;

public class AccountServiceHbnImpl implements IAccountService {
    private IAccountDAO dao = AccountDAOFactory.getDAO("hbn");
	public void addAcct(Account act) {
		Session s = null;
		Transaction tran = null;
		try {
			s = HbnUtil.getSession();
			tran = s.beginTransaction();
			dao.insert(act,s);
			tran.commit();
		} catch (HibernateException e) {
			e.printStackTrace();
			if(tran!=null) tran.rollback();
		} catch (DataException e) {
			e.printStackTrace();
			if(tran!=null) tran.rollback();
		}finally{
			HbnUtil.releaseSession(s);
		}
		

	}

	public void deposite(String actNo, double amount) {
		Session s = null;
		Transaction tran = null;
		Account a = null;
		try {
			s = HbnUtil.getSession();
			tran = s.beginTransaction();
			a = dao.findByActNo(actNo, s);
			a.deposite(amount);
			dao.update(a, s);
			tran.commit();
		} catch (HibernateException e) {
			e.printStackTrace();
			if(tran!=null) tran.rollback();
		} catch (DataException e) {
			e.printStackTrace();
			if(tran!=null) tran.rollback();
		}finally{
			HbnUtil.releaseSession(s);
		}
		

	}

	public double getBal(String actNo) {
		Session s = null;
		Transaction tran = null;
		Account a = null;
		double bal = 0.0;
		try {
			s = HbnUtil.getSession();
			tran = s.beginTransaction();
			a = dao.findByActNo(actNo, s);
			bal = a.getBal();
			tran.commit();
		} catch (HibernateException e) {
			e.printStackTrace();
			if(tran!=null) tran.rollback();
		} catch (DataException e) {
			e.printStackTrace();
			if(tran!=null) tran.rollback();
		}finally{
			HbnUtil.releaseSession(s);
		}
		return bal;
	}

	public void removeAcct(String actNo) {
		Session s = null;
		Transaction tran = null;
		try {
			s = HbnUtil.getSession();
			tran = s.beginTransaction();
			dao.delete(actNo,s);
			tran.commit();
		} catch (HibernateException e) {
			e.printStackTrace();
			if(tran!=null) tran.rollback();
		} catch (DataException e) {
			e.printStackTrace();
			if(tran!=null) tran.rollback();
		}finally{
			HbnUtil.releaseSession(s);
		}
		

	}

	public void transfer(String from, String to, double amount) {
		Session s = null;
		Transaction tran = null;
		Account a1 = null;
		Account a2 = null;
		try {
			s = HbnUtil.getSession();
			tran = s.beginTransaction();
			a1 = dao.findByActNo(from, s);
			a2 = dao.findByActNo(to, s);
			a1.withdraw(amount);
			a2.deposite(amount);
			//dao.update(a1, s);
			//dao.update(a2, s);
			tran.commit();
		} catch (HibernateException e) {
			e.printStackTrace();
			if(tran!=null) tran.rollback();
		} catch (DataException e) {
			e.printStackTrace();
			if(tran!=null) tran.rollback();
		}finally{
			HbnUtil.releaseSession(s);
		}

	}

	public void withdraw(String actNo, double amount) {
		Session s = null;
		Transaction tran = null;
		Account a = null;
		try {
			s = HbnUtil.getSession();
			tran = s.beginTransaction();
			a = dao.findByActNo(actNo, s);
			a.withdraw(amount);
			dao.update(a, s);
			tran.commit();
		} catch (HibernateException e) {
			e.printStackTrace();
			if(tran!=null) tran.rollback();
		} catch (DataException e) {
			e.printStackTrace();
			if(tran!=null) tran.rollback();
		}finally{
			HbnUtil.releaseSession(s);
		}

	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?