Spring+SpringMVC +MyBatis整合配置文件案例-阿里云开发者社区

开发者社区> 千狼> 正文

Spring+SpringMVC +MyBatis整合配置文件案例

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26654727/article/details/70161145 Sprin...
+关注继续查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26654727/article/details/70161145

Spring+SpringMVC +MyBatis整合配置文件案例

针对Spring/SpringMVC/MyBatis三个框架的整合有很多的方式,经过最近的学习我来总结一下其配置文件的设置以及三大框架之间的一些关系.代码配置后面附上,仅作为建议.

三大框架之间的关系图如下:
三大框架之间的关系

配置文件配置的对应关系:
配置文件配置

1.Spring配置文件

  • applicationContext.xml

    <context:component-scan base-package="service"/>
    <context:property-placeholder location="classpath:/c3p0.properties"/>
    
    <!-- 注册数据库的资源 -->
    <bean id="dataSource" class = "com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value = "${c3p0.driver}"></property>
        <property name="jdbcUrl" value = "${c3p0.url}"></property>
        <property name="user" value = "${c3p0.user}"></property>
        <property name="password" value = "${c3p0.password}"></property>
    </bean>
     <!-- 声明式的事务处理 -->
    <bean  id = "transactionManager" class = "org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="datasource"></property>
    </bean>
    
    <!-- 创建通知 配置切面和切入点-->
    <tx:advice id="advice">
        <tx:attributes>
            <tx:method name="add*" propagation="REQUIRED" />
            <tx:method name="del*" propagation="REQUIRED" />
            <tx:method name="update*" propagation="REQUIRED" />
            <tx:method name="find*" propagation="SUPPORTS" read-only="true" />
            <tx:method name="*" read-only="true" />
        </tx:attributes>
    </tx:advice>
    
    <aop:config >
        <aop:pointcut expression="execution(* servlet..*.*(..))" id="pc"/>
        <aop:advisor advice-ref="advice" pointcut-ref="pc"/>
    </aop:config>
    
    <!-- 整合MyBatis -->
    <bean id = "SqlSessionFactory" class = "org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref = "dataSource"></property>
    
        <!-- 导入核心配置文件 -->
            <property name="configLocation" value = "classpath:/sqlMapConfig.xml"></property>
    
        <!-- 导入映射文件 -->
        <property name="mapperLocations" value = "classpath:/pojo/*.xml"></property>
    </bean>
    
    <!-- spring为mapper接口创建代理对象 -->
    <bean class = "org.mybatis.spring.mapper.MapperScannerConfigurer" >
        <property name="basePackage" value = "mapper"></property>
    </bean>
    

2.SpringMVC配置文件

  • applicationContext-mvc.xml

    1. <!-- 开启mvc注解 -->
    <mvc:annotation-driven />
    <context:component-scan base-package="controller"></context:component-scan>
    2. <!-- 内部资源视图管理器 -->
    <bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/"></property>
        <property name="suffix" value = ".jsp"></property>
    </bean>
    

3.MyBatis配置文件

  • sqlMapConfig.xml

    1. MyBatis核心配置文件
    <configuration>
        <!-- 可以设置其缓存和其他一些事务-->
    </configuration>
    
  • UserMapper.xml

    <mapper namespace="mapper.UserMapper">
    
        <!-- 映射配置文件指定开启二级缓存 -->
    <cache/>
    
    <!-- 复用sql语句 -->
    <sql id="selectUser"> 
        select * from user
    </sql>
    
    
    <select id="findAll" resultType="pojo.User">
        <include refid="selectUser"/> 
    </select>
    

4.web.xml配置文件

  • web.xml

    1. <!--配置过滤器-->
    <filter>
        <filter-name>filter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>Encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    </filter>
    
    <filter-mapping>
        <filter-name>filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:/applicationContext*.xml</param-value>
        </init-param>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>
    

不太善于言辞,希望得到大家的支持,谢谢!

写于2017/04/13

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MyBatis Generator XML 配置文件参考
在最常见的用例中,MyBatis Generator(MBG)由XML配置文件驱动。配置文件告诉MBG:如何连接到数据库什么对象要生成,以及如何生成它们什么表应用于生成对象以下是一个示例MBG配置文件。
695 0
使用IntelliJ IDEA开发SpringMVC网站(二)框架配置
原文:使用IntelliJ IDEA开发SpringMVC网站(二)框架配置 摘要 讲解如何配置SpringMVC框架xml,以及如何在Tomcat中运行 目录[-] 文章已针对IDEA 15做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码。
989 0
SpringBoot-15-之整合MyBatis-注解篇+分页
0.相关配置 pom.xml mysql mysql-connector-java org.mybatis.
1171 0
SpringMVC 中配置 Swagger 插件.
一、简介  Swagger的目标是为REST API定义一个与语言无关的标准接口,允许用户发现和理解计算机服务的功能,而无需访问源代码。当通过Swagger正确定义时,用户可以用最少量的实现逻辑理解远程服务并与之交互。
1370 0
关于SpringMVC整合freemarker报错问题
错误信息: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'FreeMarkerConfigurer' defined in class path resource [spring-mvc.
1114 0
SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件
一、Mybatis框架 1、mybatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
1424 0
SpringBoot-16-之整合MyBatis-xml篇+单元测试
此篇接上篇:SpringBoot-15-之整合MyBatis-注解篇+分页 0.项目结构 java dao |---SwordDao entity |---Sword resources mapper |---Sword.
1490 0
SpringBoot2 配置多数据源,整合MybatisPlus增强插件
本文源码:GitHub·点这里 || GitEE·点这里 一、项目案例简介 1、多数据简介 实际的项目中,经常会用到不同的数据库以满足项目的实际需求。随着业务的并发量的不断增加,一个项目使用多个数据库:主从复制、读写分离、分布式数据库等方式,越来越常见。
2532 0
+关注
千狼
常年在 javaWeb 大数据领域中 突破自我 ,希望可以有更多志同道合之士一起交流
12
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载
《2021云上架构与运维峰会演讲合集》
立即下载