- 差不多是说:找不到你起的别名,或者说它不认识userMap 这个词
- 也有我猜是找不到配置这个文件
从前的代码
写成这样呢是我想
<!-- 配置:查询结果的字段名称与实体中书名名 的对应关系-->
<resultMap id="userMap" type="user">
<!-- 1.主键字段的对应-->
<id property="userId" column="id"/>
</resultMap>
中id=userMap 所以上面语句我写调用了这个词,改后的
<!-- 2.非主键(普通)字段的对应 -->
<result property="userName" column="username"/>
<!-- <result property="userSe?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">
<!-- namespace 表示命名空间 -->
<mapper namespace="cn.javabs.dao.UserDao">
<!-- 配置:查询结果的字段名称与实体中书名名 的对应关系-->
<resultMap id="userMap" type="user">
<!-- 1.主键字段的对应-->
<id property="userId" columx" column="sex"/>-->
<result property="userAddress" column="address"/>
<!-- <result property="Usersex" column="sex"/>-->
<result property="userAddress" column="address"/>
<result property="userBirthday" column="bitthday"/>
</resultMap>
!-- 全部查询-->
<select id="findAllUser" resultType="user">
select * from user
</select>
<!-- 添加-->
<insert id="add" parameterType="user">
<!--
keyProperty 是持久化类的编号 对应的是 user 类的id
keyColumn 是数据库中的字段名称 对应user 表的id
resultType 是 返回结果 因为返回是编号 因此int
erder 是 在插入语句之前before还是 ofter
-->
<selectKey keyProperty="id" keyColumn="id" resultType="user" order="AFTER">
select LAST_INSERT_ID();
</selectKey>
insert into user (username, address,sex,birthday)
values (#{username},#{ address},#{sex},#{birthday})
</insert>
<select id="findUserIds" parameterType="Queryvo" resultMap="userMap">
select * from user
<where>
<if test="ids != null and ids.size()>0" >
<foreach collection="ids" item="uid" open="and t_id in(" close=")"
separator=",">
#{uid}
</foreach>
</if>
</where>
</select>
</mapper>
以及运行的结果是
运行出来了,我还是感觉有点错,虽以我将打开我的数据库,看一下有几条数据真实存在数据库中,数据库的内容如下:
发现没有错。
批量删除运行错误
好像是写错in 写成了int
改后的代码如下:
运行结果如下:
查看一下数据是否真的删除:
是真的删除了,说明代码批量删除成功。