spring和hibernate详细步骤

一.spring与hibernate整合的关键

     SessionFactory的创建交由IOC容器来管理。

     原本SessionFactory的需要通过Configuration对象创建,

     SessionFactory sf = new Configuration().configure().buildSessionFactory();

    现可以通过spring配置,依赖IOC容器,DI注入来实现。

二.整合步骤

  1.导入hibernate,spring,数据库连接所需要的jar包

  2.配置hibernate.cfg.xml文件,xxx.hbn.xml对象映射文件,spring配置文件

  3.创建测试类测试

三.实践

3.1先建立javabean,创建了一个user,只有简单的id,name两个属性

public class user {
    
	private int id;
	private String name;
	
	@Override
	public String toString() {
		return "user [id=" + id + ", name=" + name + "]";
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
}

3.2配置文件的配置

hibernate.cfg.xml文件的配置如下:


    
      	
        

    
    
    	
    	jdbc:mysql://localhost:3306/mybase
    	com.mysql.jdbc.Driver
    	root
    	root
    	
    	org.hibernate.dialect.MySQLDialect
    	
    	
    	true
    	
    	true
    	update
 
 		
    	
    

3.3user.hbn.xml配置如下:





	
		
			
			
		
		
	

3.4spring配置如下:


  
                        
	
		
	                     

四.测试类的创建.

import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {
	@Test
	public void test(){
		ApplicationContext ac =  new ClassPathXmlApplicationContext("Application.xml");
		SessionFactory sf = (SessionFactory)ac.getBean("sessionFactory");
		Session session = sf.openSession();
		Transaction ts = session.beginTransaction();
		user u = (user)session.get(user.class, 1);
		System.out.println(u);
		System.out.println("success!!!");
		ts.commit();
		session.close();
	}
}

五.结果

测试时在数据库先创建好表,写入一个数据,通过junit进行测试。

spring和hibernate详细步骤_第1张图片

结果:

spring和hibernate详细步骤_第2张图片

六.spring文件配置的另一种方式

可以不需要配置hinernate.cfg.xml文件,全部都在spring配置文件中配置,结果一样的

    
   
    	
    	
    	
    	
   
   
   
   
   	  
   	  
   	  
   	  
   	  	
   	  		hib/user.hbm.xml
   	  	
   	  
   	  
   	  
   	  	
   	  		org.hibernate.dialect.MySQLDialect
   	  	
   	  
   
              

 

你可能感兴趣的:(spring和hibernate详细步骤)