Spring 整合Hibernate

来源:互联网 发布:小气泡清洁的危害 知乎 编辑:程序博客网 时间:2024/06/06 03:00

第一步:准备Spring和hibernate 的必备jar  这几链接数据库用的c3p0

第二 步 :

       在src 下创建Spring 的配置文件 在其中配置dataSource 的

配置数据库链接所不要的参数       

  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">           <property name="driverClass" value="com.mysql.jdbc.Driver"></property>           <property name="user" value="root"></property>           <property name="password" value="123456"></property>           <property name="jdbcUrl" value="jdbc:mysql:///day3?characterEncoding=utf-8">                </property>      </bean>
    编写测试代码测试dataSource是否编写正确

   ApplicationContext ctx=new ClassPathXmlApplicationContext("bean.xml");            DataSource ds=ctx.getBean("dataSource",DataSource.class);            System.err.println(ds.getConnection());
如果有链接输入表是c3p0链接数据库成功

 第三步:

       在com.wuyihuai.domain 下创建Stud.java 

     

package com.wuyihuai.domain;public class Stud {        private  Integer id;        private  String name;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;} @Overridepublic String toString() {return "Stud [id=" + id + ", name=" + name + "]";}        }
并在编写该目录下编写与之对应的hibernate的映射文件
Stud.hbm.xml

 

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping>      <class name="com.wuyihuai.domain.Stud" table="stud">           <id name="id" column="stud_id" type="integer">               <generator class="increment"></generator>           </id>           <property name="name" column="stud_name" type="string"></property>      </class></hibernate-mapping>

       在Spring配置文件中声明sessionFactory 用来接管前面的dataSource 

  

  <!-- 声明sessionFactory 接管上面的dataSoruce -->      <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">             <property nazaime="dataSource" ref="dataSource"></property>              <!--一下是设置hibernate的属性 -->             <property name="hibernateProperties">                       <props>                             <prop key="hibernate.show_sql">true</prop>                       </props>             </property>             <!-- 配置*。hbm.xml 方法一 -->          <!--    <property name="mappingResources">                 <list>                     <value>com/wuyihuai/domain/Stud.hbm.xml</value>                 </list>             </property> -->              <!-- 方法2 -->              <property name="mappingDirectoryLocations">                   <list>                         <!-- 加载该目录下的所有。hbm.xml文件 -->                        <value>classpath:com/wuyihuai/domain</value>                   </list>              </property>      </bean>

第四步 

    测试是否正确

package com.wuyihuai.demo;import javax.sql.DataSource;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.wuyihuai.domain.Stud;public class Demo {    @Test        public void test()throws Exception{            ApplicationContext ctx=new ClassPathXmlApplicationContext("bean.xml");            DataSource ds=ctx.getBean("dataSource",DataSource.class);            System.err.println(ds.getConnection());            SessionFactory sf=ctx.getBean("sessionFactory", SessionFactory.class);            Session s=sf.openSession();            System.err.println(s.connection());                        Stud stud=new Stud();            stud.setName("SSSS");            s.beginTransaction();            s.save(stud);            s.getTransaction().commit();        }}
下面是整个Spring的完整配置

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">       <!-- 创建dataSource链接书籍库 -->       <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">           <property name="driverClass" value="com.mysql.jdbc.Driver"></property>           <property name="user" value="root"></property>           <property name="password" value="123456"></property>           <property name="jdbcUrl" value="jdbc:mysql:///day3?characterEncoding=utf-8">                </property>      </bean>      <!-- 声明sessionFactory 接管上面的dataSoruce -->      <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">             <property nazaime="dataSource" ref="dataSource"></property>              <!--一下是设置hibernate的属性 -->             <property name="hibernateProperties">                       <props>                             <prop key="hibernate.show_sql">true</prop>                       </props>             </property>             <!-- 配置*。hbm.xml 方法一 -->          <!--    <property name="mappingResources">                 <list>                     <value>com/wuyihuai/domain/Stud.hbm.xml</value>                 </list>             </property> -->              <!-- 方法2 -->              <property name="mappingDirectoryLocations">                   <list>                         <!-- 加载该目录下的所有。hbm.xml文件 -->                        <value>classpath:com/wuyihuai/domain</value>                   </list>              </property>      </bean></beans>   



0 0
原创粉丝点击