resultMap结果集映射
当我们的pojo(entity)包下的实体类 与数据数据库的列名不匹配的时候
运行时可能会报错
解决这一方法可以给属性名起别名 或者在 resultMap结果集映射
在写sql语句时 我们有resyltType 结果类型 和parameterType 参数类型
而出现实体类的属性 与数据库列名不一致时 我们可以使用 结果集映射resultMap 在使用resultMap 之前 我们得先在它上面定义好
代码块
<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mumu.dao.UserMapper">
<!-- 结果集映射 id就是定义一个名字给sql语句用 type就是需要映射的类名-->
<resultMap id="user" type="Mybatis">
<!-- colum就是数据库中列名 property就是类中的属性名-->
<result column="pwd" property="pwd"/>
</resultMap>
<!-- 分页查询-->
<select id="getindex" parameterType="map" resultMap="user">
select * from mybatis.user limit #{startIndex}, #{pagesize}
</select>
<select id="getmybatisList" resultMap="user">
select * from mybatis.user;
</select>
<select id="getuser" resultType="mybatis">
select * from mybatis.user where id=#{id}
</select>
<!-- 这里参数类型要注意别名比如 Map的别名为map int的别名为 _int-->
<insert id="adduser" parameterType="mybatis">
insert into mybatis.user(id, name, pwd) values (#{id},#{name},#{pwd})
</insert>
<update id="updata" parameterType="mybatis">
update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id}
</update>
<delete id="delete" parameterType="mybatis">
delete from mybatis.user where id=#{1}
</delete>
</mapper>