hibernate核心接口:
session 、 Transaction 、 Query 、Configuration
Configuration :配置、根啟動Hibernate 創建SessionFactory對象
SessionFactory :初始化Hibernate創建Session對象
Sesssion :負責保存、更新、刪除、加載和查詢對象
Transaction :治理事務
Query和Criteria : 執行數據庫查詢
Query query = session.createQuery("from Customer c where c.name =:name");
query.setParameter("name","tom",Hibernate.STRING);
Sessin 接口方法 :
save();
updata();
delete();
load();
find();
Session 通過 SessionFactory.opensession()方法獲得;
控制事務一起Transaction
Session session = SessionFactory.openSession();
Transaction tx = null ;
try{
tx = session.begionTransaction();
//邏輯方法
tx.commit();
}
catch(Exception e){
e.PRintStackTace();
if(tx != null)tx.rollback();
thows e ;
}
finlly{
session.close();
}
//session.save(customers)執行下列SQL語句:
insert into CUSTMERS (ID , NAME , EMAIL , PASSWord , PHONE , ADDRESS , SEX , IS_MARRIED , DESCRipTION ,
IMAGE , BIRTHDAY , REGISTERED_TIME ) VALUES (1 , 'TOM' , '1234', 55556666 ,'SHANGHAI','M' , 0 ,
'I AM VERY HONEST' @ ,'1980-05-06' , NULL);
//session.find("from customer as c order by c.name asc")執行下列SQL語句:
select * from CUSTOMERS order by name asc ;
//(customer)session.load(customer.class,customer_id)執行下列SQL語句:
select * from CUSTOMERS WHERE ID = 1 ;
update CUSTOMERS SET NAME = 'TOM' ,EMAIL ='[email protected]' ,ADDRESS = 'BEIJING' WHERE ID = 1;
//session.delete("from CUSTOMER AS C");執行下列SQL語句:
select * from CUSTOMERS ;
DELETE FROM CUSTOMERS WHERE ID = 1;
或是:session.load(customers.class,id);
session.delete(customer);
或是:
session.load(customers.class,new int(1));
新聞熱點
疑難解答