⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 biddaohibernate.java

📁 是一个基于java开发的拍卖系统 非常适合初学者看
💻 JAVA
字号:
package com.wish.jhk.dao.impl;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.wish.jhk.dao.BidDao;
import com.wish.jhk.entity.Bid;
import com.wish.jhk.entity.User;
import com.wish.jhk.util.HibernateSessionFactory;

public class BidDaoHibernate implements BidDao {

	// 删除竞价 id 需要删除的竞价的id

	public void delete(Integer id) {
		Session session = null;
		Transaction trans = null;

		try {
			session = HibernateSessionFactory.getSession();
			trans = session.beginTransaction();
			session.delete(session.get(Bid.class, id));
			trans.commit();
		} catch (Exception e) {
			e.printStackTrace();
			trans.rollback();
		} finally {
			session.close();
		}

	}

	// 删除竞价 bid 需要删除的竞价

	public void delete(Bid bid) {
		Session session = null;
		Transaction trans = null;

		try {
			session = HibernateSessionFactory.getSession();
			trans = session.beginTransaction();
			session.delete(bid);
			trans.commit();
		} catch (Exception e) {
			e.printStackTrace();
			trans.rollback();
		} finally {
			session.close();
		}

	}

	// 根据用户查找竞价
	// id 用户id
	// return 用户对应的全部竞价

	@SuppressWarnings("unchecked")
	public List<Bid> findByUser(Integer userId) {
		Session session = null;
		Transaction trans = null;
		List<Bid> bids = null;
		try {
			session = HibernateSessionFactory.getSession();
			trans = session.beginTransaction();
			String hql = "from Bid as bid where bid.user.userId = :userId";
			Query query = session.createQuery(hql);
			query.setInteger("userId", userId);
			bids = query.list();
			trans.commit();
		} catch (Exception e) {
			e.printStackTrace();
			trans.rollback();
		} finally {
			session.close();
		}
		return bids;
	}

	// 根据物品id,以及出价查询用户
	// itemId 物品id;
	// price 竞价的价格
	// return 对指定物品出指定竞价的用户

	@SuppressWarnings("unchecked")
	public User findUserByItemAndPrice(Integer itemId, Double price) {
		Session session = null;
		Transaction trans = null;
		List<Bid> bids = null;
		try {
			session = HibernateSessionFactory.getSession();
			trans = session.beginTransaction();
			String hql = "from Bid as bid where bid.item.itemId = :itemId and bid.bidPrice = :bidPrice";
			Query query = session.createQuery(hql);
			bids = query.setInteger("itemId", itemId).setDouble("bidPrice",
					price).list();
			if (bids.size() >= 1) {
				Bid b = bids.get(0);
				User u = b.getUser();
				u.getEmail(); // b.getUser()只有运行一次 才会给 User u 赋值
				trans.commit();
				return u;
			} else {
				trans.commit();
				return null;
			}
		} catch (Exception e) {
			e.printStackTrace();
			trans.rollback();
		} finally {
			session.close();
		}
		trans.commit();
		return null;
	}

	// 根据主键查找竞价
	// bidId 竞价id;
	// id对应的竞价

	public Bid get(Integer bidId) {
		Session session = null;
		Transaction trans = null;
		Bid bid = null;

		try {
			session = HibernateSessionFactory.getSession();
			trans = session.beginTransaction();
			bid = (Bid) session.get(Bid.class, bidId);
			trans.commit();
		} catch (Exception e) {
			e.printStackTrace();
			trans.rollback();
		} finally {
			session.close();
		}
		return bid;
	}

	// 保存竞价 bid 需要保存的竞价
	public void save(Bid bid) {
		Session session = null;
		Transaction trans = null;

		try {
			session = HibernateSessionFactory.getSession();
			trans = session.beginTransaction();
			session.save(bid);
			trans.commit();
		} catch (Exception e) {
			e.printStackTrace();
			trans.rollback();
		} finally {
			session.close();
		}

	}

	// 修改竞价 bid 需要修改的竞价
	public void update(Bid bid) {
		Session session = null;
		Transaction trans = null;

		try {
			session = HibernateSessionFactory.getSession();
			trans = session.beginTransaction();
			session.update(bid);
			trans.commit();
		} catch (Exception e) {
			e.printStackTrace();
			trans.rollback();
		} finally {
			session.close();
		}

	}

	// public static void main(String arg[]) {
	// BidDaoHibernate b = new BidDaoHibernate();
	// User user = b.findUserByItemAndPrice(1, 250.00);
	// System.out.println(user.getUsername());
	// System.out.println(user.getEmail());
	// System.out.println(user.getUserpass());
	// System.out.println(b.get(1).getBidDate());
	// }

}

⌨️ 快捷键说明

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