Hibernate——开发实例(一)
Hibernate项目开发实例
1、创建数据库模型
2、创建Java工程
3、加入Hibernate的jar文件
Hibernate的jar文件
数据库的jar文件
(可在网上下载jar包)
4、编写实体类(ORM——O)
5、编写ORM文件(基于XML文件)
文件名:classname.hbm.xml与类同包
在与实体类同一个路径下创建一个Goods.hbm.xml文件
6、编写Hibernate的配置文件
默认:src/hibernate.cfg.xml
dialect方言:针对不同的数据库产品有不同方言
查询:project/etc/hibernate.properties可以找到数据库产品的方言
7、获得SessionFactory对象
// 加载hibernate.cfg.xml文件
Configuration configuration = new Configuration().configure();
// 获得sessionFactory,针对Hibernate4.0
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
8、获得session对象
在sessionFactory中有两种方式可以获取Session对象
1、sessionFactory.getCurrentSession();
2、sessionFactory.openSession();
9、使用Session对象实现CRUD操作
在执行增删改时Hibernate要求必须有事务
@Test
public void delete(){
Session session = this.openSession();
Goods goods = (Goods) session.get(Goods.class, 5);
Transaction tran = session.getTransaction();
tran.begin();
session.delete(goods);
tran.commit();
session.close();
}
@Test
public void update(){
Session session = this.openSession();
Transaction tran = session.getTransaction();
tran.begin();
Goods goods = (Goods) session.get(Goods.class, 4);
goods.setGoodsPrice(goods.getGoodsPrice()*0.5);
// session.update(goods);
tran.commit();
session.close();
}@Test
public void findbyid(){
Session session = this.openSession();
Goods goods = (Goods) session.get(Goods.class, 6);
System.out.println(goods.getGoodsName());
session.close();
}@Test
public void findAll(){
String sql ="select * from goods";
String hql ="from com.no1.domain.Goods";
//执行HQL要使用Query接口
Session session = this.openSession();
Query query = session.createQuery(hql);
List<Goods> goodsList = query.list();
for (Goods goods : goodsList) {
System.out.println(goods.getGoodsName());
}
session.close();
}