资讯专栏INFORMATION COLUMN

mybatis和springMVC整合及其中的问题

EscapedDog / 2123人阅读

摘要:的整合大致结构中放置的配置文件,由于这个例子很简单,所以配置得比较简单。在与的整合中,在这里不用配置,因为在整合包中有的扫描类。中配置的是和整合的配置。其中包括数据源数据池的配置的配置扫描器的配置还有事务的配置。所以将改了就解决问题了

1. springMVC+spring+mybatis的整合大致结构:

(1)config/mybatis/SqlMapConfig.xml中放置mybatis的配置文件,由于这个例子很简单,所以配置得比较简单。在spring与mybatis的整合中,在这里不用配置mapper,因为在mybatis-spring整合jar包中有mapper的扫描类。




(2)config/spring/appliacationContext.xml中配置的是mybatis和spring整合的配置。其中包括数据源(数据池)的配置、sqlSessionFactory的配置、mapper扫描器的配置还有事务的配置。目前aop还不是很会,所以事务配置并没有在程序中体现。



    
    
        
            
                classpath:db.properties
            
        
    
    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    
    
        
        
    

    
        
        

    

    

    
        
    
    
    
        
            
            
            
            
            
        
    

    
        
    
 

(3)config/spring/springMVC.xml配置的就是springMVC框架所用到的处理器映射器。 



    
    
    
    
       
    
    
    

(4)db.properties里面配置了 数据库驱动所需的各种属性包括:驱动类名、用户名、密码等还有数据池的属性

driverClassName=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/mydb1?rewriteBatchedStatements=true
username=root
password=1234

c3p0.acquireIncrement=3
c3p0.initialPoolSize=3
c3p0.idleConnectionTestPeriod=60
c3p0.minPoolSize=5
c3p0.maxPoolSize=100
c3p0.maxStatements=100
c3p0.numHelperThreads=10
c3p0.maxIdleTime=60

(5)log4j.properties是log的配置文件,不太懂。

(6)有关web.xml的配置




    
        contextConfigLocation
        classpath:spring/*.xml
    

    org.springframework.web.context.ContextLoaderListener

    
        springMVC
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring/springMVC.xml
        
    
    
    
        springMVC
        *.action
    

接下来只需写:

(1)mapper文件:mapper.java文件和mapper.xml文件同名同目录(dao)

(2)service:写service接口,并实现,最后配置。在实现类中注入mapper,此时会报错,因为还没扫描,并不影响程序运行。

 

(3)controller(handler):在其中注入service

2.spring+mybatis 报Could not load driverClass ${jdbc.driverClass}


    
    


    
    

改为



    
    


    
    

在spring里使用org.mybatis.spring.mapper.MapperScannerConfigurer 进行自动扫描的时候,设置了sqlSessionFactory 的话,可能会导致PropertyPlaceholderConfigurer失效,也就是用${jdbc.username}这样之类的表达式,将无法获取到properties文件里的内容。 导致这一原因是因为,MapperScannerConigurer实际是在解析加载bean定义阶段的,这个时候要是设置sqlSessionFactory的话,会导致提前初始化一些类,这个时候,PropertyPlaceholderConfigurer还没来得及替换定义中的变量,导致把表达式当作字符串复制了。 
所以将id改了就解决问题了

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75144.html

相关文章

  • Java后端

    摘要:,面向切面编程,中最主要的是用于事务方面的使用。目标达成后还会有去构建微服务,希望大家多多支持。原文地址手把手教程优雅的应用四手把手实现后端搭建第四期 SpringMVC 干货系列:从零搭建 SpringMVC+mybatis(四):Spring 两大核心之 AOP 学习 | 掘金技术征文 原本地址:SpringMVC 干货系列:从零搭建 SpringMVC+mybatis(四):Sp...

    joyvw 评论0 收藏0
  • 使用IDEA基于Maven搭建多模块聚合工程(springmvc+spring+mybatis整合

    摘要:最后运行,如下图所示,就说明跑通了总结之前看别人的博客,有选择项,自己弄死活跑不通。选择那项,啥都不选选择那项。还要注意打包方式,,, 一.工程目录 下面是搭建之后的目录showImg(https://segmentfault.com/img/remote/1460000015755454?w=407&h=467); 先看一下目录关系 taotao-parent(父工程管理jar包的版...

    szysky 评论0 收藏0
  • SSM(SpringMVC|Spring|MyBatis整合)

    摘要:整合思路分层整合整合持久层包括数据源,和代理对象的配置整合业务层包括事务以及的配置整合表现层处理适配器,映射处理器和视图解析器等整合持久层加载属性配置文件配置数据源配置需要注入数据源配置接口的代理类对象 整合思路 分层整合 1.整合持久层mapper,包括数据源,sqlSessionFactory和mapper代理对象的配置 2.整合业务层Service,包括事务以及bean的...

    khs1994 评论0 收藏0
  • 基于注解方式配置springMVC整合mybatis(一)

    摘要:在实战一书中前面两部分分别介绍了和的高级特性,并且基于类配置有一套层的,但是没有将层整合层,于是我试着整合了下,也方便以后写测试。 在《springBoot实战》 一书中前面两部分分别介绍了spring 和 springMVC的高级特性,并且基于java类配置有一套web层的demo,但是没有将web层整合dao层,于是我试着整合了下,也方便以后写测试demo。下面是我的整理 pom....

    岳光 评论0 收藏0

发表评论

0条评论

EscapedDog

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<