Mybatis:解决属性名和字段名不一致的问题

问题描述

常见的mybatis语句:

<select id="getAllUsers" resultType="com.term.model.User">
        select * from user
    </select>

当数据库中的字段名和实体类的属性名一致的时候,类型映射器将自动赋值,并返回一个完整的User对象。
而当有属性名和字段名不一致的时候,自动赋值无法完成,会出现属性值为空的情况。

解决方法

1、Sql语句使用别名

<select id="getAllUsers" resultType="com.term.model.User">
        select id,name,pwd as password from user
</select>

2、结果集

<!--映射结果集-->
    <resultMap id="userMap" type="com.term.model.User">
        <!--自定义映射关系,column是字段名,property对应属性名-->
        <result column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="pwd" property="password"/>
    </resultMap>
    <select id="getAllUsers" resultMap="userMap">
        select * from user
    </select>

你可能感兴趣的:(Java菜鸡笔记,mybatis,java)