必须为元素类型 "mapper" 声明属性 "namespace"解决

在使用mybatis进行mapper.xml测试的时候发生"必须为元素类型 “mapper” 声明属性 “namespace” "的错误
必须为元素类型

项目目录结构
必须为元素类型

UserMapper和UserMapper.xml统一放到mapper下了,SqlMapConfig.xml为mybatis的系统配置文件


SqlMapConfig.xml已经下引入了UserMapper啊


<configuration>
    
    <environments default="development">
        <environment id="development">
            
            <transactionManager type="JDBC"/>
            
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            dataSource>
        environment>
    environments>


    <mappers>
        
        <mapper resource="cn/itheima/pojo/User.xml"/>
        
        <mapper class="cn.itheima.mapper.UserMapper"/>
   mappers>
configuration>

UserMapper.xml


    
<mapper namespace="cn.itheima.mapper.UserMapper">

    
    <select id="findUserById" parameterType="int" resultType="cn.itheima.pojo.User">
        select * from user where id = #{id}
    select>


    
    <select id="findUserByUserName" parameterType="String" resultType="cn.itheima.pojo.User">
        select * from user where username like '%${value}%'
    select>


    
    <insert id="insertUser" parameterType="cn.itheima.pojo.User">
        /*
        执行select LAST_INSERT_ID()数据函数,返回自增的主键
        keyProperty:将返回的主键放入传入参数的id中保存
        order:当前函数相对于insert语句的执行顺序,在insert之前执行是before,在insert后执行是after
        resultType:id的类型,也是keyProperty中属性的类型
        */
        <selectKey keyProperty="id" order="AFTER" resultType="int">
            select LAST_INSERT_ID()
        selectKey>
        insert into user (username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address})
    insert>
mapper>

网上找了一下发现我的UserMapper.xml下应该引错了
必须为元素类型
应该将Config改成mapper,改好从新测试,问题解决

你可能感兴趣的:(MyBatis)