📄 dbmanager.java
字号:
package com.zhang.struts.dao;
import java.util.*;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Query;
import net.sf.hibernate.Session;
import net.sf.hibernate.Transaction;
//import net.sf.hibernate.Transaction;
import com.zhang.struts.po.*;
import com.zhang.struts.util.ShoppingCart;
import com.zhang.struts.util.ShoppingCartItem;
public class DBManager {
//查询书籍
public List searchBook(String keyName){
try {
Session session = HibernateSessionFactory.currentSession();
List bookList = null;
if(keyName.equals("")||keyName.trim().length()==0){
Query q = session.createQuery("from Book");
bookList = q.list();
}else{
Query q = session.createQuery("from Book b where b.name like '%"+keyName+"%'");
bookList = q.list();
}
return bookList;
} catch (HibernateException e) {
e.printStackTrace();
return null;
}
}
//通过id 查一本书
public Book searchBookById(String id){
try {
Session session = HibernateSessionFactory.currentSession();
Query q = session.createQuery("from Book b where b.id="+new Integer(id).intValue());
List book = q.list();
return (Book)book.iterator().next();
} catch (HibernateException e) {
e.printStackTrace();
return null;
}
}
//插入定单到DB
public void insertOrder(ShoppingCart cart){
Transaction tr=null;
try {
Session session = HibernateSessionFactory.currentSession();
tr=session.beginTransaction();
//得到购物车的东西
Collection c = cart.getItems();
Iterator it = c.iterator();
//得到购物车中书的总价
Double price = new Double(cart.getTotal());
//一 orders表 一对多 orderItem表
Orders orders = new Orders();
orders.setTotalprice(price);
orders.setOrderitemSet(new HashSet());
//取出购物车中的东西
while(it.hasNext()){
//取出书
ShoppingCartItem sci = (ShoppingCartItem)it.next();
Book b = (Book)sci.getItem();
//书的数量
Integer quantity=new Integer(sci.getQuantity());
//多 orders表 一对多 orderItem表
Orderitem orderitem=new Orderitem();
orderitem.setQuantity(quantity);
orderitem.setOrders(orders);//orders表
orderitem.setBook(b);//book表
orders.getOrderitemSet().add(orderitem);
}
session.save(orders);
tr.commit();
} catch (HibernateException e) {
try {
tr.rollback();
} catch (HibernateException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -