📄 biddaohibernate.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 + -