一:创建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>