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

2020-07-29 10:22:29 浏览数 (1)

实体类如下:

代码语言:javascript复制
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语句中定义字段的别名,让字段名的别名和实体类的属性名一致。
代码语言:javascript复制
    <select id="getUserById" parameterType="int" resultType="cn.truedei.entity.OsEntity">
        select filesystem Filesystem,used Used where mounted = #{Mounted}
    </select>

第二种:

  • 通过来映射字段名和实体类属性名的一 一对应的关系。
代码语言:javascript复制
    <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>

0 人点赞