Hibernate(一)<源码>
链接:http://pan.baidu.com/s/1eS7b1To 密码:7pvd
今天学习完Hibernate查询,排序等功能把项目贴上来做一个总结。
1.贴表 对应关系:商品信息Commodity.db(多对一)商家信息持久化类Seller.db
订单信息持久化类Order.db(一对多)订单明细信息持久化类OrderItem.db
商品信息持久化类Commodity.db
商家信息持久化类Seller.db
客户信息持久化类Customer.db
订单信息持久化类Order.db
订单明细信息持久化类OrderItem.db
2.项目思路: 1.首先创建各个持久化类 -------> 2.创建对应关系------->3.创建配置信息Hibernate.hbm.xml注意要指定持久化类的位置----->4.建立工厂的文件(一般直接拷贝)
5.进行Junit4测试如下:
就拿商品信息持久化类Commodity来测试吧
public class CommodityTest{
private Session session=null;//创建session
@Test
public void testOrderby() {
String hql = " from Commodity order by seller.id asc,price desc,name asc ";
Query query = session.createQuery(hql);
List<Commodity> commodities = query.list();
for (Commodity c : commodities) {
System.out.println("name:" + c.getName());
System.out.println("price:" + c.getPrice());
}
}
@Test
public void testWhere4() {
String hql = " from Commodity c where c.price*5>3000 ";
Query query = session.createQuery(hql);
List<Commodity> commodities = query.list();
for (Commodity c : commodities) {
System.out.println("name:" + c.getName());
System.out.println("price:" + c.getPrice() * 5);
}
}
@Test
public void testWhere3() {
String hql = " from Commodity c where c.price<200 or c.price>3000 ";
Query query = session.createQuery(hql);
List<Commodity> commodities = query.list();
for (Commodity c : commodities) {
System.out.println("name:" + c.getName());
System.out.println("price:" + c.getPrice());
}
}
@Test
public void testWhere2() {
String hql = " from Commodity c where c.price between 1000 and 5000 and c.category like '%电脑%' or name like '%电脑%' ";
Query query = session.createQuery(hql);
List<Commodity> commodities = query.list();
for (Commodity c : commodities) {
System.out.println("name:" + c.getName());
System.out.println("category:" + c.getCategory());
System.out.println("price:" + c.getPrice());
}
}
@Test
public void testWhere1() {
String hql = " from Commodity c where c.price<=200 ";
Query query = session.createQuery(hql);
List<Commodity> commodities = query.list();
for (Commodity c : commodities) {
System.out.println("name:" + c.getName());
System.out.println("price:" + c.getPrice());
}
}
@Test
public void testFromClause() {
String hql = " from Commodity ";
Query query = session.createQuery(hql);
List<Commodity> commodities = query.list();
for (Commodity c : commodities) {
System.out.println("name:" + c.getName());
System.out.println("seller's name :" + c.getSeller().getName());
}
}
@Test
public void Mohu() {
String hql = "from Commodity c where c.name like '中_'";
Query query = session.createQuery(hql);
List<Commodity> list = query.list();
for (Commodity o : list) {
System.out.println(o.getName());
}
}
@Before
public void setUp() throws Exception {
session = HibernateSessionFactory.getCurrentSession();
}
@After
public void tearDown() throws Exception {
session.close();
}
}