Spring 学习之二(Spring 和 hibernate 整合)

    xiaoxiao2021-03-25  74

    Spring 学习之二(Spring 和 hibernate 整合)

     

     

    如果你不明白hibernate的搭建可以参考Hibernate 学习路程之一(Hibernate 环境的搭建)

     

    Hibernate主配置文件包含三部分内容 1>连接数据库的信息 2>自己的属性配置 3>映射文件的位置

    这三部分内容,在<session-factory>节点下,也就是说这三部分内容主要是为了构造一个 SessionFactory对象。 配置文件的整合

    1,完全删除hibernate主配置文件,把hibernate 配置文件的内容(三方面)转移到spring主配置 文件中 2,保留hibernate主配置文件,并用spring配置文件指向hibernate配置文件。

     

    项目上我们一般按照下面的方式

     

    保留hibernate 主配置文件,但把连接数据库的信息转移到spring 配置文件中 第一步:添加 springhibernate Jar 包支持        Jdbc libraries  三个 第二步:注释 hibernte 中连接数据库信息   第三步:spring 配置中添加 dataSource 与 sessionFactory   

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"> </property> <property name="url" value="jdbc:mysql://127.0.0.1:3306"></property> <property name="username" value="root"></property> <property name="password" value="root"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="configLocation"> <value>file:src/hibernate.cfg.xml</value> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> </bean>

    hibernate主配置文件中写hibernate的属性配置及其映射文件的信息

     

    <hibernate-configuration> <session-factory> <property name="show_sql">true</property> <mapping resource="com/wfg/pojo/Student.hbm.xml" /> </session-factory> </hibernate-configuration>

     

    第四步: dao extends HibernateDAOSupport

    StudentDAO extends HibernateDaoSupport 

    super.getHibernateTemplate()  有完整的save等方法 Session session = super.getSession(); 

     

    第五步:spring 配置文件中配置 DAO 类 

    <bean id="StudentDAO" class="com.wfg.pojo.StudentDAO"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean>

    第六步:编写测试类 dao 要通过容器获取 

    public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); StudentDAO studentDAO = context.getBean(StudentDAO.class); studentDAO.save(new Student("李四", 12, new Timestamp(new Date().getTime()), true, "springhibernat")); }

     

    转载请注明原文地址: https://ju.6miu.com/read-26456.html

    最新回复(0)