Mybatis中的映射配置

Mybatis中的映射配置(一)

当Mybatis中的实体java类的属性名与数据库表中的列名不一致时,我们可以通过配置的方法来解决。有两种如下方法:
方法一:添加resultMap标签,开发效率比较高。

  <!-- 配置 查询结果的列名和实体类的属性名的对应关系 -->
    <resultMap id="userMap" type="uSeR">
        <!-- 主键字段的对应 -->
        <id property="userId" column="id"></id>
        <!--非主键字段的对应-->
        <result property="userName" column="username"></result>
        <result property="userAddress" column="address"></result>
        <result property="userSex" column="sex"></result>
        <result property="userBirthday" column="birthday"></result>
    </resultMap>

补充: 此处resultMap中的id 只是一个唯一标识,无其他含义,可以任意取名,但是如果采取这种转换方式,只需将select标签中的resultType=“com.zsh.domain.User”>改为resultMap=“userMap”。具体案例如下:

<!--根据queryVo的条件查询用户 -->
    <select id="findUserByVo" parameterType="com.zsh.domain.QueryVo" resultType="com.zsh.domain.User">
    select * from user where username like #{user.username}
    </select>

只需改为

<!-- 根据queryVo的条件查询用户 -->
    <select id="findUserByVo" parameterType="com.zsh.domain.QueryVo" resultMap="userMap">
        select * from user where username like #{user.username}
    </select>

方法二:sql层面修改,用as一一对应。

select id as userId,username as userName,address as userAddress,sex as userSex,birthday as userBirthday from user;

你可能感兴趣的:(Mybatis)