accountservicehbnimpl.java

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

JAVA
153
字号
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.getCurrentSession();
			tran = s.beginTransaction();
			dao.insert(act);
			tran.commit();
		} catch (HibernateException e) {
			e.printStackTrace();
			if (tran != null)
				tran.rollback();
		} catch (DataException e) {
			e.printStackTrace();
			if (tran != null)
				tran.rollback();
		} 

	}

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

	}

	public double getBal(String actNo) {
		Session s = null;
		Transaction tran = null;
		Account a = null;
		double bal = 0.0;
		try {
			s = HbnUtil.getCurrentSession();
			tran = s.beginTransaction();
			a = dao.findByActNo(actNo);
			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();
		} 
		return bal;
	}

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

	}

	public void transfer(String from, String to, double amount) {
		Session s = null;
		Transaction tran = null;
		Account a1 = null;
		Account a2 = null;
		try {
			s = HbnUtil.getCurrentSession();
			tran = s.beginTransaction();
			a1 = dao.findByActNo(from);
			a2 = dao.findByActNo(to);
			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();
		} 

	}

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

	}

}

⌨️ 快捷键说明

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