mybatis的mapper配置文件中的一些细节问题

来源:互联网 发布:倾斜三维建模 软件 编辑:程序博客网 时间:2024/04/30 00:52
最近在学习SpringMVC结合mybatis的使用,碰到了不少坑,在这里总结以下。我使用的编辑器是IDEA,使用maven构建项目。IDEA在打包时不会自动把src/main/java下的配置文件打包到resources中,所以会碰到Invalid bound statement (not found)错误,只需将配置文件写在resources中,或者在pom.xml中加入以下代码
<!-- 把src/main/java中的配置文件打包到resources中 -->    <resources>      <resource>        <directory>src/main/java</directory>        <includes>          <include>**/*.xml</include>        </includes>      </resource>      <resource>        <directory>src/main/resources</directory>      </resource>    </resources>

这个问题解决后,接下来是使用foreach批量插入数据遇到的问题,代码如下
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.example.dao.UserMapper">    <insert id="saveList" useGeneratedKeys="true" parameterType="java.util.List">        insert into user(name, password)        values        <foreach collection="users" item="item" index="index" separator="," >           (#{item.name},#{item.password}})        </foreach>    </insert></mapper>

这段代码是可用的,需要注意几个地方:
1、在IDEA中编辑时,namespace写包名是会报Cannot find class的错误的,要把接口名也写上;2、使用list进行批量插入时,collection不能写list,而是要写当前list类型参数的变量名。以上只是我遇到的一些问题,大部分问题网上都能搜到,学习中遇到困难了不要放弃,希望我的总结能帮到大家。
                                             
0 0
原创粉丝点击