今天在复习mybatis时遇到这样的一个问题,我数据库表的字段和我定义的实体类名不一致
中间有下划线“_”,如下图
实体类:
数据库字段:
结果会导致部分查询数据是null。
于是我首先想到了自己定义一个resultmap映射,给数据库字段取一个别名,代码如下:
<resultMap id="brandResultMap" type="brand">
<!--
id:完成主键字段的映射
column:表的列名
property:实体类的属性名
result:完成一般字段的映射
column:表的列名
property:实体类的属性名
-->
<result column="brand_name" property="brandName"/>
<result column="company_name" property="companyName"/>
</resultMap>、
<select id="selectAll" resultMap="brandResultMap">
select *
from tb_brand;
</select>
可以查询出来结果:
完事之后我又想起来可以开启驼峰命名,于是我有删掉了定义了resultmap,开启了驼峰命名,
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
修改了查询语句
<select id="selectAll" resultType="brand">
select * from tb_brand;
</select>
但是查询时,报错我映射关系不对。
我又去看了看,确保了并没有动其他的代码,这里的映射错误是从哪儿来的呢?
求大佬指点一下