springmvc4.3.5 spring4.3.5 hibernate 5.2.5 整合

springmvc4.3.5 spring4.3.5 hibernate 5.2.5 整合, 数据库为mysql ,

1. pom依赖jar包

<properties>
        <spring.version>4.3.5.RELEASE</spring.version>
        <hibernate.version>5.2.5.Final</hibernate.version>
        <lang.version>2.6</lang.version>
        <guava.version>20.0</guava.version>
        <curator.version>2.10.0</curator.version>
        <druid.version>1.0.26</druid.version>
        <mysql.version>5.1.40</mysql.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${hibernate.version}</version>
        </dependency>
        <!-- <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> 
            <version>${lang.version}</version> </dependency> -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>${guava.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>${curator.version}</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>${druid.version}</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        
        <dependency>
            <groupId>com.ccrc</groupId>
            <artifactId>commons-dao</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>

2.springmvn-servlet配置

<?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:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd">                    

    <context:component-scan base-package="com.ccrc.controller"/>

    <mvc:default-servlet-handler />

    <mvc:annotation-driven />
    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/view/" />
        <property name="suffix" value=".jsp" />
    </bean>
    
</beans>

3.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:tx="http://www.springframework.org/schema/tx"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd 
        http://www.springframework.org/schema/util 
        http://www.springframework.org/schema/util/spring-util-4.3.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.3.xsd"
    default-autowire="byName">

    <context:annotation-config />
    
    <context:component-scan base-package="com.ccrc" />
    
    <context:property-placeholder location="classpath:dbconfig.properties" />
    
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">  
         <property name="url" value="${druid.url}" />  
         <property name="username" value="${druid.username}" />  
         <property name="password" value="${druid.password}" />  
         <property name="driverClassName" value="${druid.driverClassName}" />  
         <property name="filters" value="${druid.filters}" />  
         <property name="maxActive" value="${druid.maxActive}" />
         <property name="initialSize" value="${druid.initialSize}" />
         <property name="maxWait" value="${druid.maxWait}" />
         <property name="minIdle" value="${druid.minIdle}" />  
         <property name="timeBetweenEvictionRunsMillis" value="${druid.timeBetweenEvictionRunsMillis}" />
         <property name="minEvictableIdleTimeMillis" value="${druid.minEvictableIdleTimeMillis}" />  
         <property name="validationQuery" value="${druid.validationQuery}" />  
         <property name="testWhileIdle" value="${druid.testWhileIdle}" />  
         <property name="testOnBorrow" value="${druid.testOnBorrow}" />  
         <property name="testOnReturn" value="${druid.testOnReturn}" />  
         <property name="maxOpenPreparedStatements" value="${druid.maxOpenPreparedStatements}" />
         <property name="removeAbandoned" value="${druid.removeAbandoned}" />
         <property name="removeAbandonedTimeout" value="${druid.removeAbandonedTimeout}" />
         <property name="logAbandoned" value="${druid.logAbandoned}" />
    </bean >

    <bean name="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="packagesToScan" value="com.ccrc.model" />
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="javax.persistence.validation.mode">none</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                <prop key="current_session_context_class">thread</prop>
                <!-- <prop key="hibernate.format_sql">true</prop> -->
            </props>
        </property>
    </bean>

    <bean id="txManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"/>
    <tx:annotation-driven transaction-manager="txManager" />

    <bean id="persistenceExceptionTranslationPostProcessor"
        class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />

</beans>

4.dbconfig.properties配置

druid.url= jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8
druid.driverClassName= com.mysql.jdbc.Driver  
druid.username= root
druid.password= root
druid.filters= stat,log4j,wall
druid.maxActive= 10
druid.initialSize= 1
druid.maxWait= 60000
druid.minIdle= 10
druid.maxIdle= 15
druid.timeBetweenEvictionRunsMillis= 60000
druid.minEvictableIdleTimeMillis= 300000
druid.validationQuery= SELECT 'x'
druid.testWhileIdle= true
druid.testOnBorrow= false
druid.testOnReturn= false
druid.maxOpenPreparedStatements= 20
druid.removeAbandoned= true
druid.removeAbandonedTimeout= 1800
druid.logAbandoned= true

hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql = true
hibernate.format_sql = false

5.写代码如下:

springmvc4.3.5 spring4.3.5 hibernate 5.2.5 整合

6,写代码,部署tomcat 并运行

springmvc4.3.5 spring4.3.5 hibernate 5.2.5 整合

7.项目地址已上传码云,码云地址:https://git.oschina.net/peaktiger/test-admin

注意:本项目没有sql 文件,可以修改spring 配置文件 <prop key="hibernate.hbm2ddl.auto">create</prop> 

然后启动项目,自动根据创建实体创建表,

 

转载于:https://my.oschina.net/u/3213541/blog/858397