springmvc和mybatis整合出现的问题

来源:互联网 发布:剑灵灵男好看捏脸数据 编辑:程序博客网 时间:2024/05/21 17:56

Invalid bound statement (not found): cn.itsun.springmvc.service.ItemService.findItemsList

在web.xml文件中 配置的顺序不清楚.


错误示范:目前还不清楚原因



<!-- 前端控制器 -->
<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:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>



<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>


<!-- spring的监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>




web层     controller   使用springmvc技术

service层   不变

dao层   mapper   使用mybatis技术


使用mapper的动态代理开发在写接口时遵循4个原则:

1.接口的方法名 == mapper.xml文件中的id

2.接口的类全路径 == mapper.xml文件中的namespace

3.接口的入参类型 == mapper.xml文件中的resultType

4.接口的返回值类型  == mapper.xml文件中的parameterType




sqlMapConfig.xml文件中 

1)自定义别名:

<typeAliases>

<pacakge name="cn.itsun.pojo" />  (批量自定义别名,别名为类名,大小写不敏感)

或者<typeAlias type="cn.itsun.pojo.User" alias="user" /> (单个自定义别名)

<typeAliases/>

2)sqlMapConfig.xml与mapper.xml文件的映射:

<mappers>

<mapper resource="User.xml" />

<mapper class="cn.itsun.mapper.User.xml" /> (指定接口的类路径)

<package name="cn.itsun.mapper" /> (指定包下的所有mapper接口的xml文件)

(第二种 和 第三种需要把mapper.xml和mapper接口放在一起)

<mappers/>

注意:在配置mybatis和springmvc整合时

在applicationContext.xml文件中写扫描语句后,就不用配置与mapper.xml文件的映射了

<!-- Mapper动态代理开发  之  扫描 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 指定一个基本包 -->
<property name="basePackage" value="cn.itsun.springmvc.dao"/>
</bean>