1. 程式人生 > >Hibernate 編寫測試類,進行增刪改查 自動生成表

Hibernate 編寫測試類,進行增刪改查 自動生成表

1.新增資料

package com.hlg.whd;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;



public class test {
	@Test
				public void sss(){
				Configuration  cig = new Configuration().configure();
				SessionFactory sessionFactory = cig.buildSessionFactory();
				Session session = sessionFactory.openSession();
				Transaction t = session.beginTransaction();
				Costmer c =new Costmer();	
				
				
				c.setUsername("王琛昱");
				c.setPassword("1888");
				session.save(c);
				t.commit();
				session.close();
				sessionFactory.close();


}
}

新增前新增後

2.修改資料

package com.hlg.whd;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;



public class test {
	@Test
				public void sss(){
				Configuration  cig = new Configuration().configure();
				SessionFactory sessionFactory = cig.buildSessionFactory();
				Session session = sessionFactory.openSession();
				Transaction t = session.beginTransaction();
				Costmer c =new Costmer();	
				
				c.setId(1);
				c.setUsername("肖嘉良");
				c.setPassword("6666");
				session.update(c);
				t.commit();
				session.close();
				sessionFactory.close();


}
}

修改前修改後

3.查詢資料

package com.hlg.whd;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;



public class test {
	@Test
				public void sss(){
				Configuration  cig = new Configuration().configure();
				SessionFactory sessionFactory = cig.buildSessionFactory();
				Session session = sessionFactory.openSession();
				Transaction t = session.beginTransaction();
				Costmer c =(Costmer)session.get(	Costmer.class,1)	;
				System.out.println("姓名"+c.getUsername());
				System.out.println("密碼"+c.getPassword());
				session.update(c);
				t.commit();
				session.close();
				sessionFactory.close();


}
}

4.刪除資料

package com.hlg.whd;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;



public class test {
	@Test
				public void sss(){
				Configuration  cig = new Configuration().configure();
				SessionFactory sessionFactory = cig.buildSessionFactory();
				Session session = sessionFactory.openSession();
				Transaction t = session.beginTransaction();
				Costmer c =(Costmer)session.get(	Costmer.class,1)	;
				session.delete(c);
				t.commit();
				session.close();
				sessionFactory.close();


}
}

刪除前刪除後

5.hibernate自動生成表

(1)只要在hibernate.cfg.xml新增這句話,就可以自動生成資料表 

        <property name="hibernate.hbm2ddl.auto">update</property> 

        update:表示自動根據model物件來更新表結構,啟動hibernate時會自動檢查資料庫,如果缺少表,則自動建表;如果    表裡缺少列,則自動新增列。 
 還有其他的引數: 
        create:啟動hibernate時,自動刪除原來的表,新建所有的表,所以每次啟動後的以前資料都會丟失。 

        create-drop:啟動hibernate時,自動建立表,程式關閉時,自動把相應的表都刪除。所以程式結束時,表和資料也不會再存在。