一:創建maven工程,引入需要的依賴包,創建項目的工程包
jdbcUrl = jdbc:sqlserver://localhost:1433;DatabaseName=dbStudy
driverClass = com.microsoft.sqlserver.jdbc.SQLServerDriver
username = sa
password = sql2008
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 配置連接數據庫的基本信息 -->
<!-- 1.數據源配置到IOC容器中,所以此處不再需要配置數據源 2.關聯的.hbm.xml也在IOC容器配置SessionFactory實例時再進行配置
3.配置Hibernate的基本屬性:方言、SQL顯式及格式化、生成數據表的策略以及二級緩存等 -->
<!-- 配置hibernate基本信息 -->
<!-- hibernate所使用的數據庫方言 -->
<!-- mysql的Dialect方言配置 -->
<!-- <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop> -->
<!-- SQL Server的Dialect方言配置 -->
<propertyname="dialect">org.hibernate.dialect.SQLServer2008Dialect</property>
<!-- Oracle的Dialect方言配置 -->
<!-- <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop> -->
<!-- 執行操作時是否在控制台打印sql -->
<propertyname="show_sql">true</property>
<!-- 是否對SQL進行格式化 -->
<propertyname="format_sql">true</property>
<!-- 指定自動生成數據表的策略 -->
<propertyname="hbm2ddl.auto">update</property>
</session-factory>
</hibernate-configuration>
<!-- 配置自動檢測 -->
<!-- Enable annotation configuration -->
<context:annotation-config/>
<!-- Scan packages for Spring annotations -->
<context:component-scanbase-package="com.ympcSoft"/>
<beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"destroy-method="close">
<!-- mysql 數據庫連接配置 -->
<!--
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/forestry?useUnicode=true&characterEncoding=utf-8" />
<property name="username" value="root" />
<property name="password" value="123456" />
-->
<!-- oracle 數據庫連接配置 -->
<!--
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
<property name="username" value="SYSTEM" />
<property name="password" value="SkyNet888999" />
-->
<!-- sql server 數據庫連接配置 -->
<propertyname="driverClassName"value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<propertyname="url"value="jdbc:sqlserver://localhost:1433;DatabaseName=dbStudy"/>
<propertyname="username"value="sa"/>
<propertyname="password"value="sql2008"/>
<!-- 配置初始化大小、最小、最大 -->
<propertyname="initialSize"value="1"/>
<propertyname="minIdle"value="1"/>
<propertyname="maxActive"value="20"/>
<!-- 配置獲取連接等待超時的時間 -->
<propertyname="maxWait"value="60000"/>
<!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連接,單位是毫秒 -->
<propertyname="timeBetweenEvictionRunsMillis"value="60000"/>
<!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->
<propertyname="minEvictableIdleTimeMillis"value="300000"/>
<!-- 打開PSCache,並且指定每個連接上PSCache的大小 -->
<propertyname="poolPreparedStatements"value="true"/>
<propertyname="maxPoolPreparedStatementPerConnectionSize"value="20"/>
<!-- 配置監控統計攔截的filters -->
<propertyname="filters"value="stat,log4j"/>
</bean>
<!-- 引入 sql server 屬性配置文件-->
<context:property-placeholderlocation="classpath:sqlserver.properties"/>
<!-- sql server 數據庫連接配置 -->
<propertyname="driverClassName"value="${driverClass}"/>
<propertyname="url"value="${jdbcUrl}"/>
<propertyname="username"value="${username}"/>
<propertyname="password"value="${password}"/>
<beanid="sessionFactory"class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!-- 配置數據 源 -->
<propertyname="dataSource"ref="dataSource"></property>
<!-- 配置hibernate配置文件所在的位置 -->
<propertyname="configLocation"value="classpath:spring-hibernate.cfg.xml"></property>
<!-- 掃描的數據包 -->
<propertyname="packagesToScan"value="com.ympcsoft.sys.domain"></property>
</bean>
<!-- 配置SessionFactory,由spring提供 -->
<beanid="sessionFactory"class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!-- 配置數據 源 -->
<propertyname="dataSource"ref="dataSource"></property>
<!-- 配置hibernate配置文件所在的位置 -->
<!--<property name="configLocation" value="classpath:spring-hibernate.xml"></property>-->
<!-- 使用hibernateProperties屬性來配置Hibernate原生的屬性 -->
<propertyname="hibernateProperties">
<props>
<propkey="hibernate.dialect">org.hibernate.dialect.SQLServer2008Dialect</prop>
<propkey="hibernate.show_sql">true</prop>
<propkey="hibernate.format_sql">true</prop>
<propkey="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<beanid="transactionManager"class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<propertyname="sessionFactory"ref="sessionFactory"></property>
</bean>
<tx:annotation-driventransaction-manager="transactionManager"/>
<?xml version="1.0" encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd">
<!-- 配置自動檢測 -->
<!-- Enable annotation configuration -->
<context:annotation-config/>
<!-- Scan packages for Spring annotations -->
<context:component-scanbase-package="com.ympcSoft"/>
<!-- 配置數據源,這裡采用的是阿裡巴巴的 durid -->
<beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"destroy-method="close">
<!-- mysql 數據庫連接配置 -->
<!--
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/forestry?useUnicode=true&characterEncoding=utf-8" />
<property name="username" value="root" />
<property name="password" value="123456" />
-->
<!-- oracle 數據庫連接配置 -->
<!--
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
<property name="username" value="SYSTEM" />
<property name="password" value="SkyNet888999" />
-->
<!-- sql server 數據庫連接配置 -->
<propertyname="driverClassName"value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<propertyname="url"value="jdbc:sqlserver://localhost:1433;DatabaseName=dbStudy"/>
<propertyname="username"value="sa"/>
<propertyname="password"value="sql2008"/>
<!-- 配置初始化大小、最小、最大 -->
<propertyname="initialSize"value="1"/>
<propertyname="minIdle"value="1"/>
<propertyname="maxActive"value="20"/>
<!-- 配置獲取連接等待超時的時間 -->
<propertyname="maxWait"value="60000"/>
<!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連接,單位是毫秒 -->
<propertyname="timeBetweenEvictionRunsMillis"value="60000"/>
<!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->
<propertyname="minEvictableIdleTimeMillis"value="300000"/>
<!-- 打開PSCache,並且指定每個連接上PSCache的大小 -->
<propertyname="poolPreparedStatements"value="true"/>
<propertyname="maxPoolPreparedStatementPerConnectionSize"value="20"/>
<!-- 配置監控統計攔截的filters -->
<propertyname="filters"value="stat,log4j"/>
</bean>
<!-- 配置SessionFactory,由spring提供 -->
<beanid="sessionFactory"class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!-- 配置數據 源 -->
<propertyname="dataSource"ref="dataSource"></property>
<!-- 配置hibernate配置文件所在的位置 -->
<propertyname="configLocation"value="classpath:spring-hibernate.cfg.xml"></property>
<!-- 掃描的數據包 -->
<propertyname="packagesToScan"value="com.ympcsoft.sys.domain"></property>
</bean>
<!-- 配置聲明式事務管理器(采用注解的方式 ),由spring提供HibernateTransactionManager -->
<beanid="transactionManager"class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<propertyname="sessionFactory"ref="sessionFactory"></property>
</bean>
<tx:annotation-driventransaction-manager="transactionManager"/>
</beans>