整合hibernate和spring这样的文章已经很多了,下面我们来看看如何利用myeclipse的功能为整合提速咯
		1.首先,创建工程,可以直接选创建J2EE web工程
   (这....就不用贴图了吧)
2.导入spring, 选择myeclipse的add spring capabilities,注意把copy .....打勾(注,如果想要在spring的配置文件中配置hibernate的话, 一定要先导入spring)

3. 导入hibernate, 选择myeclipse的add hibernatecapabilities,注意把copy .....打勾

这时,myeclipse检测到已有spring,会问如何处理hibernate配置信息,  这里, 我们选择把hibernate的配置信息写在spring的配置信息中

接着,既然选择把在spring配置文件中配置hibernate信息,就需要设置hibernate的sessionfactory在配置文件中的bean id, 这里, 就设置为sessionFactory

然后要配置sessionFactory对应的数据源,注,数据源对应的bean id也需要设置,可以简单设置为dataSource
就不贴图咯

最后,选择sessionfactory对于的实现类,可以就用spring提供的LocalSessionFactory

这样, 我们就在项目中添加了spring和hibernate并将他们给予整合咯
3.应用:
  配置好了环境,我们当然还得应用咯.下面给出我的代码
首先创建pojo和对应的hbm.xml
		
				 package
				 mapping;
				package
				 mapping;


 public
				 
				class
				 Test
				public
				 
				class
				 Test 
				
						 {
				
				
						{


 public
						 Test()
    
						public
						 Test() 
						
								 {
						
						
								{
 super
								();
        
								super
								();
 //
								 TODO Auto-generated constructor stub
        
								//
								 TODO Auto-generated constructor stub
								
										
										 }
								
								    }
						
						
								
								 
								
								 private
						 
						int
						 id;
    
						private
						 
						int
						 id;
 
    
 private
						 String name;
    
						private
						 String name;


 public
						 
						int
						 getId()
    
						public
						 
						int
						 getId() 
						
								 {
						
						
								{
 return
								 id;
        
								return
								 id;
 }
    }
						
						
								
								 
								
								 
								 public
						 
						void
						 setId(
						int
						 id)
    
						public
						 
						void
						 setId(
						int
						 id) 
						
								 {
						
						
								{
 this
								.id 
								=
								 id;
        
								this
								.id 
								=
								 id;
 }
    }
						
						
								
								 
								
								 
								 public
						 String getName()
    
						public
						 String getName() 
						
								 {
						
						
								{
 return
								 name;
        
								return
								 name;
 }
    }
						
						
								
								 
								
								 
								 public
						 
						void
						 setName(String name)
    
						public
						 
						void
						 setName(String name) 
						
								 {
						
						
								{
 this
								.name 
								=
								 name;
        
								this
								.name 
								=
								 name;
 }
    }
						
						
								
								 
    
 
    
 }
}
				
				
						
						 
				
		 
		
		
				 <?
				xml version="1.0"
				?>
				<?
				xml version="1.0"
				?>
				
						
						 <!
				DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
				
				<!
				DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
				>
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
				>
				
						
						 
						
						 <
				hibernate-mapping 
				default-lazy
				="false"
				  auto-import
				="true"
				 package
				="mapping"
				>
				
				<
				hibernate-mapping 
				default-lazy
				="false"
				  auto-import
				="true"
				 package
				="mapping"
				>
				
						
						 <
				class 
				table
				="test"
				 name
				="Test"
				>
   
				<
				class 
				table
				="test"
				 name
				="Test"
				>
				
						
						 <
				id 
				name
				="id"
				 column
				="test_id"
				 type
				="int"
				>
     
				<
				id 
				name
				="id"
				 column
				="test_id"
				 type
				="int"
				>
				
						
						 <
				generator 
				class
				="native"
				></
				generator
				>
       
				<
				generator 
				class
				="native"
				></
				generator
				>
				
						
						 </
				id
				>
     
				</
				id
				>
				
						
						 
     
 <
				property 
				name
				="name"
				 type
				="string"
				 column
				="name"
				></
				property
				>
     
				<
				property 
				name
				="name"
				 type
				="string"
				 column
				="name"
				></
				property
				>
				
						
						 </
				class
				>
   
				</
				class
				>
				
						
						 </
				hibernate-mapping
				>
				
				</
				hibernate-mapping
				>
				
						
						 
						
						 
				
		 
		然后开发对应的DAO操作pojo, 因为我比较懒,所以直接使用HibernateTemplate进行操作
 package mapping;
package mapping;
 
 
 import java.util.List;
import java.util.List;

 import org.hibernate.Criteria;
import org.hibernate.Criteria;
 import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.HibernateTemplate;


 public class TestDAO
public class TestDAO  {
{

 private HibernateTemplate hibernateTemplate;
    private HibernateTemplate hibernateTemplate;


 public TestDAO()
    public TestDAO()  {
{
 super();
        super();
 // TODO Auto-generated constructor stub
        // TODO Auto-generated constructor stub
 }
    }


 public Test getTest(String name) throws Exception
    public Test getTest(String name) throws Exception  {
{
 Test t=new Test();
        Test t=new Test();
 t.setName(name);
        t.setName(name);
 List list = this.getHibernateTemplate().findByExample(t);
        List list = this.getHibernateTemplate().findByExample(t);
 if (list.isEmpty())
        if (list.isEmpty())
 throw new Exception("No Such Record");
            throw new Exception("No Such Record");
 else
        else
 return (Test) list.get(0);
            return (Test) list.get(0);
 }
    }


 public void addTest(String name)
    public void addTest(String name)  {
{
 Test test = new Test();
        Test test = new Test();
 test.setName(name);
        test.setName(name);
 this.getHibernateTemplate().save(test);
        this.getHibernateTemplate().save(test);
 }
    }


 public void updateTest(Test test)
    public void updateTest(Test test) {
{
 this.getHibernateTemplate().update(test);
        this.getHibernateTemplate().update(test);
 }
    }
 
    

 public void deleteTest(Test test)
    public void deleteTest(Test test) {
{
 this.getHibernateTemplate().delete(test);
        this.getHibernateTemplate().delete(test);
 }
    }
 
    

 public HibernateTemplate getHibernateTemplate()
    public HibernateTemplate getHibernateTemplate()  {
{
 return hibernateTemplate;
        return hibernateTemplate;
 }
    }


 public void setHibernateTemplate(HibernateTemplate ht)
    public void setHibernateTemplate(HibernateTemplate ht)  {
{
 this.hibernateTemplate = ht;
        this.hibernateTemplate = ht;
 }
    }
 }
}

 
相应的,还需要修改下spring的配置文件
 <?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

 <beans>
<beans>
 
 

 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
 <property name="driverClassName">
        <property name="driverClassName">
 <value>com.mysql.jdbc.Driver</value>
            <value>com.mysql.jdbc.Driver</value>
 </property>
        </property>
 <property name="url">
        <property name="url">
 <value>jdbc:mysql://localhost:3306/nirvana?useUnicode=true</value>
            <value>jdbc:mysql://localhost:3306/nirvana?useUnicode=true</value>
 </property>
        </property>
 <property name="username">
        <property name="username">
 <value>dyerac</value>
            <value>dyerac</value>
 </property>
        </property>
 <property name="password">
        <property name="password">
 <value></value>
            <value></value>
 </property>
        </property>
 </bean>
    </bean>
 
        
 <bean id="sessoinFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <bean id="sessoinFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
 <property name="dataSource">
        <property name="dataSource">
 <ref bean="dataSource" />
            <ref bean="dataSource" />
 </property>
        </property>
 <property name="hibernateProperties">
        <property name="hibernateProperties">
 <props>
            <props>
 <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
 <prop key="connection.characterEncoding">utf8</prop>
                <prop key="connection.characterEncoding">utf8</prop>
 <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.show_sql">true</prop>
 <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
 </props>
            </props>
 </property>
        </property>
 <property name="mappingDirectoryLocations">
        <property name="mappingDirectoryLocations">
 <list >
           <list >
 <value>src/mapping</value>
            <value>src/mapping</value>
 </list>
           </list>
 </property>
        </property>
 </bean>
    </bean>
 
    
 <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
 <property name="sessionFactory">
      <property name="sessionFactory">
 <ref bean="sessoinFactory"/>
       <ref bean="sessoinFactory"/>
 </property>
      </property>
 <property name="allowCreate">
      <property name="allowCreate">
 <value>true</value>
        <value>true</value>
 </property>
      </property>
 </bean>
    </bean>
 
    
 <bean id="testDAO" class="mapping.TestDAO">
    <bean id="testDAO" class="mapping.TestDAO">
 <property name="hibernateTemplate">
      <property name="hibernateTemplate">
 <ref bean="hibernateTemplate"/>
        <ref bean="hibernateTemplate"/>
 </property>
      </property>
 </bean>
    </bean>
 </beans>
</beans>

最后的最后,开发一个测试类:
 import mapping.Test;
import mapping.Test;
 import mapping.TestDAO;
import mapping.TestDAO; 
 import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;


 public class Tester
public class Tester  {
{
 
 

 public static void main(String args[])
    public static void main(String args[])  {
{
 ApplicationContext ctx = new FileSystemXmlApplicationContext(
        ApplicationContext ctx = new FileSystemXmlApplicationContext(
 "src/applicationContext.xml");
                "src/applicationContext.xml");
 TestDAO test = (TestDAO) ctx.getBean("testDAO");
        TestDAO test = (TestDAO) ctx.getBean("testDAO");
 //test.addTest("dyerac");
        //test.addTest("dyerac");

 try
        try  {
{ 
 Test t = test.getTest("bsbs");
            Test t = test.getTest("bsbs");
 System.err.println(t.getName());
            System.err.println(t.getName());
 //t.setName("bsbs");
            //t.setName("bsbs");
 //test.updateTest(t);
            //test.updateTest(t);
 //test.deleteTest(t);
             //test.deleteTest(t);

 } catch (Exception e)
        } catch (Exception e)  {
{ 
 System.err.println(e);
            System.err.println(e);
 }
        }
 }
    }
 }
}
