Hibernate 語法:
Hibernate的所有的操作都是通過Session完成的.
基本步驟如下:
1:通過配置文件得到SessionFactory:
SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory();
2:通過SessionFactory 得到一個Session
Session session=sessionFactory.openSession();
3:通過session進(jìn)行插入,刪除,修改以及查詢.
插入例子:(1)聲明一個事務(wù);(2)Session執(zhí)行save()操作;(3)事務(wù)提交;(4)關(guān)閉Session,可選.
public void insert(Person p){
Transaction tran=session.beginTransaction();
session.save(p);
tran.commit();
// session.close();
}
修改例子:(1)聲明一個事務(wù);(2)Session執(zhí)行update()操作;(3)事務(wù)提交;(4)關(guān)閉Session,可選.
public void update(Person p){
Transaction tran=session.beginTransaction();
session.update(p);
tran.commit();
// session.close();
}
刪除例子(主鍵刪除,推薦使用):(1) 聲明刪除的SQl語句;(2)創(chuàng)建session的Query對象;(3)設(shè)置Query對象的參數(shù);(4)執(zhí)行Query的executeUpdate()操作;(5)Session事務(wù)提交
public void delete(int id){
String hql="delete Person as p where p.id=?";
Query query=session.createQuery(hql);
query.setInteger(0,id);
query.executeUpdate();
session.beginTransaction().commit();
}
刪除例子(對象刪除):(1)聲明一個事務(wù);(2)Session執(zhí)行delete()操作;(3)事務(wù)提交;(4)關(guān)閉Session,可選.
public void delete(Person p){
Transaction tran = session.beginTransaction();
session.delete(p);
tran.commit();
session.close();
}
查詢例子:(跟刪除差不多) 查詢語句不需要事務(wù)提交
(1) 聲明刪除的SQl語句;(2)創(chuàng)建session的Query對象;(3)設(shè)置Query對象的參數(shù);
public Persion queryById(int id){
String hql="from Person as p where p.id=?";
Query query=session.createQuery();
query.setInteger(0,id);
List rsList=query.list();
iterator it=rsList.iterator();
Person person=null;
while(it.haseNext()){
person=(Person)it.next();
}
return person;
}