解决Mybatis当实体类中的属性名和表中的字段名不一致的问题

时间:2022-07-22
本文章向大家介绍解决Mybatis当实体类中的属性名和表中的字段名不一致的问题,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

实体类如下:

public class OsEntity {

    private String Filesystem;
    private String Used;
    private String Mounted;
    
	...get() and  set()
 }

表中数据

filesystem

used

mounted

test.txt

50

/file

test2.txt

60

/file1

test3.txt

50

/file2

test4.txt

80

/file3

第一种*

  • 可以通过在查询的SQL语句中定义字段的别名,让字段名的别名和实体类的属性名一致。
    <select id="getUserById" parameterType="int" resultType="cn.truedei.entity.OsEntity">
        select filesystem Filesystem,used Used where mounted = #{Mounted}
    </select>

第二种:

  • 通过来映射字段名和实体类属性名的一 一对应的关系。
    <resultMap id="osEntityMap" type="cn.truedei.entity.OsEntity">
        <!--用<id></id>标签映射主键字段  property(被映射的):实体类中的,column(映射的):数据表中的-->
        <id property="Mounted" column="mounted"/>
        <!--用<result>映射非主键字段,-->
        <result property="Filesystem" column="filesystem"/>
        <result property="Used" column="used"/>
    </resultMap>