Hibernate(2)

讲述Hibernate中的增删改查

SessionFactory sf = new Configuration().configure().buildSessionFactory();
Session s = sf.openSession();
s.beginTransaction();

类名 p =  new 类名();

//增

p.setName();

p.setPrice();

s.save(p);

 

//删除

// 类名 p =(类名) s.get(类名.class, id); 

 

//        s.delete(p); 

 

 

//改

// 类名 p =(类名) s.get(类名.class, id); 
// p.setName();
// s.update(p);

 

//查询name

// 类名 p =(类名) s.get(类名.class, id);
// System.out.println("id=6的产品名称是: "+p.getName());

 

 

s.getTransaction().commit();
s.close();
sf.close();

 

查询还有三个查询

1.hql查询

 

// Query q =s.createQuery("from 类名 p where p.name like ?");
// q.setString(0, "%"+name+"%");设置参数Query是基0的
// List<Product> ps= q.list();
// for (Product p : ps) {
// System.out.println(p.getName());
// }

 

2.Criteria查询

// Criteria c= s.createCriteria(类名.class);
// c.add(Restrictions.like("name", "%"+name+"%"));
// List<Product> ps = c.list();
// for (Product p : ps) {
// System.out.println(p.getName());
// }

 

 

3.标准SQL查询

// String sql = "select * from 表名 p where p.name like '%"+name+"%'";
//
// Query q= s.createSQLQuery(sql);
// List<Object[]> list= q.list();一个object[]中放了一行记录
// for (Object[] os : list) {
// for (Object filed: os) {一行记录在分个打出
// System.out.print(filed+"\t");
// }
// System.out.println();
// }
//

 

posted @ 2018-04-10 22:52  lspa  阅读(120)  评论(0)    收藏  举报