mybatis实体类属性与数据表字段不一致时 ,解决方法

本文介绍了在MyBatis中,当实体类属性与数据表字段名称不匹配时的两种解决方法:1) 使用resultMap进行映射配置,详细指定属性与字段的对应关系;2) 利用resultType配合HashMap,通过SQL查询时给字段取别名来实现对应。注意检查SQL语句中属性名是否正确,避免字段值返回默认值的情况。
摘要由CSDN通过智能技术生成

实体类的属性、数据表的字段: 类型、名字不一致时(stuno,id)

注意:当属性名 和字段名不一致时,除了使用resultMap以外,还可以使用resultType+HashMap:

a. resultMap

使用resultMap将不一致属性与数据表一一对应

	<resultMap type="student" id="queryStudentByIdMap">
			<!-- 指定类中的属性 和 表中的字段 对应关系 -->
			<id property="stuNo"  column="id" />
			<result property="stuName" column="name" />
	</resultMap>

b.resultType+HashMap

select 表的字段名 “类的属性名”(取别名) from table_name 来制定字段名 和属性名的对应关系(系统会进行判断,例如表中字段id对应类中属性stuNo)

<select id="queryStudentByIdWithHashMap" 	 parameterType="int"	resultType="student" >
		select id "stuNo",name "stuName" from student where id = #{id}
	</select>

注意: 如果如果10个字段,但发现 某一个字段结果始终为SQL数据类型的默认值(例如:0、0.0、null等),则很可能是SQL语句中类的属性名写错。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值