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();
// }
//

浙公网安备 33010602011771号