zoukankan      html  css  js  c++  java
  • Spring 配置dataSource和sessionFactory

    记得导入dbcp和pool的jar包。

     

    <?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:aop="http://www.springframework.org/schema/aop"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
               http://www.springframework.org/schema/context
               http://www.springframework.org/schema/context/spring-context-2.5.xsd
               http://www.springframework.org/schema/aop
               http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
        <context:annotation-config />
        <context:component-scan base-package="com.bjsxt" />

        <!--
            <bean id="dataSource"
            class="org.apache.commons.dbcp.BasicDataSource"
            destroy-method="close">
           
           
            <property name="driverClassName" value="com.mysql.jdbc.Driver" />
            <property name="url" value="jdbc:mysql://localhost:3306/spring" />
            <property name="username" value="root" />
            <property name="password" value="bjsxt" />
            </bean>
        -->

        <bean
            class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="locations">
                <value>classpath:jdbc.properties</value>
            </property>
        </bean>

        <bean id="dataSource" destroy-method="close"
            class="org.apache.commons.dbcp.BasicDataSource">
            <property name="driverClassName"
                value="${jdbc.driverClassName}" />
            <property name="url" value="${jdbc.url}" />
            <property name="username" value="${jdbc.username}" />
            <property name="password" value="${jdbc.password}" />
        </bean>

        <bean id="sessionFactory"
            class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><!-- 使用注解 -->
            <property name="dataSource" ref="dataSource" />

            <!--
            <property name="annotatedClasses">
                <list>
                    <value>com.bjsxt.model.User</value>
                    <value>com.bjsxt.model.Log</value>
                </list>
            </property>
             -->
             <property name="packagesToScan"><!-- 可以自动扫描list中指定的包来加载实体类,不用一 一指明   -->
              <list>
                    <value>com.bjsxt.model</value>
           
              </list>
            </property>


            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">
                        org.hibernate.dialect.MySQLDialect
                    </prop>
                    <prop key="hibernate.show_sql">true</prop>
                </props>
            </property>
        </bean>

    </beans>

     

    jdbc.properties:

    jdbc.driverClassName=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/spring
    jdbc.username=root
    jdbc.password=bjsxt

     

     

    在类中可以通过注解进行注入。

     

    package com.bjsxt.dao.impl;

    import java.sql.SQLException;

    import javax.annotation.Resource;

    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.springframework.stereotype.Component;

    import com.bjsxt.dao.UserDAO;
    import com.bjsxt.model.User;

    @Component("u")
    public class UserDAOImpl implements UserDAO {

        private SessionFactory sessionFactory;

        public SessionFactory getSessionFactory() {
            return sessionFactory;
        }
       
        @Resource
        public void setSessionFactory(SessionFactory sessionFactory) {
            this.sessionFactory = sessionFactory;
        }

        public void save(User user) {
           
            //Hibernate
            //JDBC
            //XML
            //NetWork
            System.out.println("session factory class:" + sessionFactory.getClass());
                Session s = sessionFactory.openSession();
                s.beginTransaction();
                s.save(user);
                s.getTransaction().commit();
            System.out.println("user saved!");
            //throw new RuntimeException("exeption!");
        }

    }

  • 相关阅读:
    什么是RAID?RAID有什么用?RAID原理
    Java和PHP哪个方向更有前途?
    Sublime Text 3 Build 3047 32bit/64bit 简体中文安装破解版
    学习笔记之--java EE 环境的搭建
    学习笔记之--Navicat Premium创建数据表
    学习笔记之--MySQL图形界面软件Navicat Premium的安装
    #Javascript:this用法整理
    js解决通过json传来的timestamp类型时间的显示问题
    Eclipse快捷键大全
    形参与实参的区别
  • 原文地址:https://www.cnblogs.com/flying607/p/3488379.html
Copyright © 2011-2022 走看看