最近在做springmvc与mybatis的项目,遇到一些比较坑的问题。花了许多时间却发现其实解决的办法很简单。这里主要是讲我自己在整合这两个框架的时候遇到的一些问题做一个整理。希望遇到和我同样问题的小伙伴可以不被坑。

坑一:

nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 
  • 1

正如你所见,这个错误指的是没有找到有限的statement,就是在Mybatis映射文件中的SQL语句。为什么没找到呢?根据整理,无非是由以下几个方面的原因导致的:

  • Mapper接口的方法名与映射文件中的statement的id没有保持一致(我是由逆向工程直接生成的,所以排除这个可能);
  • 在spring的配置文件中没有扫描到制定目录的映射文件,一般可能是如下的配置出了问题:
<!--mybatis的sqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:mapper/*Mapper.xml"/>
</bean>
  • 1
  • 2
  • 3
  • 4
  • 5

注意到上面的第二个属性,该属性制定需要扫描的映射文件的位置,有可能你吧默认的mapper改名类似*Dao.java之类的,那么这种情况也会出现这个错误,这个没有遇到过。网上的解决办法是吧映射文件的namespace改成com.xxx.*Dao。这样。你可以试试。由于我是直接生成的,觉得默认的就挺好所以这个问题也不可能。

  • 扫描mapper接口的时候没有找到对应的类。由于我是直接拷贝全限定名的,所以也不可能是这个原因。
  • 虽然指定了正确的位置(在普通的web工程中),但是在Maven web工程中可能就会有问题,网上尝试了一堆办法都没有解决,真是醉了。我的就属于这种问题。

解决办法:把Mapper映射文件放到resource资源文件下面。

坑二:从Controller使用能够ModelMap传值到JSP页面的时候直接显示EL表达式

之所以回出现这个问题主要在于jsp页面没有把表达式作为一个表达式去解决,而只是当做一个简单的文本。所以自然就不能正确的显示了。

解决办法:在页面添加<%@ page isELIgnored="false"%>这个声明就可以。

http://blog.csdn.net/u011116672/article/details/50596989

SpringMVC与Mybatis框架整合遇到的坑(转)的更多相关文章

  1. SSM框架-----------SpringMVC+Spring+Mybatis框架整合详细教程

    1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One  ...

  2. ssm(spring、springmvc、mybatis)框架整合

    第一次接触这3大框架,打算一个一个慢慢学,参照网上资料搭建了一个ssm项目,作为新手吃亏在jar包的导入上,比如jdbc DataSource配置的时候由于导入的jar包不兼容或者缺包导致项目无法正常 ...

  3. SpringMVC Spring MyBatis 框架整合 Annotation MavenProject

    项目结构目录 pom.xml   jar包管理 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&q ...

  4. SSM(SpringMVC Spring Mybatis)框架整合搭建

    1.新建一个web工程. 2.首先看一下整体的框架结构: 3.将ssm框架搭建所需要的jar包复制到lib目录下 3.需要配置各个配置文件. 1)配置web.xml文件: <?xml versi ...

  5. SSM(Spring+SpringMVC+MyBatis)框架整合开发流程

    回忆了 Spring.SpringMVC.MyBatis 框架整合,完善一个小demo,包括基本的增删改查功能. 开发环境 IDEA MySQL 5.7 Tomcat 9 Maven 3.2.5 需要 ...

  6. SSM(Spring,SpringMVC,Mybatis)框架整合项目

    快速上手SSM(Spring,SpringMVC,Mybatis)框架整合项目 环境要求: IDEA MySQL 8.0.25 Tomcat 9 Maven 3.6 数据库环境: 创建一个存放书籍数据 ...

  7. SSM框架整合的详细过程(含每一步的分析及代码)。实质上是SpringMVC与mybatis的整合,应为spring与SpringMVC不需要整合。

    为了更好的学习 springmvc和mybatis整合开发的方法,需要将springmvc和mybatis进行整合. 整合目标:控制层采用springmvc.持久层使用mybatis实现. 1.1 需 ...

  8. JavaWeb_(SpringMVC框架)测试SpringMVC&Spring&MyBatis三大整合

    搭建 SpringMVC&Spring&MyBatis三大整合 传送门 1.准备 测试搭建S pringMVC&Spring&MyBatis三大整合 用例   a)准备 ...

  9. 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

    手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版) SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式, ...

随机推荐

  1. hdoj 1286 找新朋友 【数论之欧拉函数】

    找新朋友 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  2. ASP.NET - 对URL传递的值进行编码Server.UrlEncode()

    /// <summary> /// 搜索内容 /// </summary> /// <param name="sender"></para ...

  3. Delphi - 闲来无事,自己写个Timer玩玩(多线程Timer)

    明天去坐火车,回家,今天就没有事做,本来在弄一个跨进程获取其他程序里面组件,如ListView,ListBox,Button等的信息,突然有个想法自己写个Timer,不用SetTimer函数,我们自己 ...

  4. 基于visual Studio2013解决面试题之0703翻转栈

     题目

  5. css 水平居中的办法

    <div style="width: 100%; text-align: center; margin: auto;"> <div style="dis ...

  6. oracle flashback 2

    Flashback  database      After oracle 10g, oracle can rollback to an prior time by flashback databas ...

  7. Kendo UI开发教程(21): Kendo MVVM 数据绑定(十) Source

    Source绑定可以把ViewModel的值和由Kendo模板定义的目标元素绑定,如果ViewModel的值发生变化,被绑定的目标元素也随之发生变化.模板由属性data-template指定,它的值为 ...

  8. android用canvas绘制两种波纹效果

     波形效果有几种不同的呈现形式,比如从中间向四周散开的波形,也就是熟知的水涟漪:还有上下波动的曲线,像五线谱等.英文中可以称作Wave或者Ripple,所以暂且叫它们WaveView.WaveLayo ...

  9. JSP的学习(7)——九大隐式对象之pageContext对象

    本篇来讲诉JSP中九大隐式对象中最后一个,也是最重要的一个对象——pageContext对象. pageContext对象代表了该JSP页面的运行环境,它的作用有: ① 这个对象封装了对其它八大隐式对 ...

  10. Lazy Math Instructor

      Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3721   Accepted: 1290 Description A m ...