作為Hibernate的初學者,要真正的掌握Hibernate,從簡單的增、改、刪、查開始。
1.增加(save或persist)
這兩個方法都能實現數據的添加,主要區別在於:在沒有開啟事物時,save( )會執行相關的sql語句,然後在回滾,而persist根本不會執行sql語句。所以這兩個方法都要在事物中才能生效。
示例代碼:
Configuration conf = new Configuration();
conf.configure();
SessionFactory fac = conf.buildSessionFactory();
Session s = fac.openSession();
Transaction trans = s.beginTransaction();
Student stu = new Student();
stu.setAge(20);
stu.setName("周傑倫");
s.save(stu);//添加數據
trans.commit();
s.close();
System.out.println("OK");
2. 查詢 (get或load)
get和load都從數據庫加載一條數據,不同在於:get會立即查詢數據庫,而load是一個懶加載,先返回代理對象,在使用的時候才真正的加載數據。
示例代碼:
Configuration conf = new Configuration();
conf.configure();
SessionFactory fac = conf.buildSessionFactory();
Session s = fac.openSession();
Transaction trans = s.beginTransaction();
Object obj = s.load(Student.class, 1);// 加載Id=1的記錄
Student st = (Student) obj;// 強制轉型
System.out.println("Name:" + st.getName());
trans.commit();
s.close();
System.out.println("OK");
3. 修改 (update)
要先通過get或load得到要修改的對象,通過set修改對象的信息後,通過update方法更新到數據庫。
示例代碼:
Configuration conf = new Configuration();
conf.configure();
SessionFactory fac = conf.buildSessionFactory();
Session s = fac.openSession();
Transaction trans = s.beginTransaction();
Object obj = s.load(Student.class, 1);// 加載Id=1的數據
Student st = (Student) obj;// 強制轉型
st.setName("曹領雄");//修改名稱
s.update(st);//更新數據
trans.commit();//提交事物
s.close();
System.out.println("OK");
4. 刪除 (delete)
要先通過get或load得到要刪除的對象,然後通過delete方法刪除該條記錄。
示例代碼:
Configuration conf = new Configuration();
conf.configure();
SessionFactory fac = conf.buildSessionFactory();
Session s = fac.openSession();
Transaction trans = s.beginTransaction();
Object obj = s.load(Student.class, 1);// 加載Id=1的數據
Student st = (Student) obj;// 強制轉型
s.delete(st);//刪除該對象
trans.commit();// 提交事物
s.close();
System.out.println("OK");
Hibernate 的詳細介紹:請點這裡
Hibernate 的下載地址:請點這裡
Hibernate 中文手冊 PDF http://www.linuxidc.com/Linux/2013-10/91208.htm