今天在复习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>

但是查询时,报错我映射关系不对。

 我又去看了看,确保了并没有动其他的代码,这里的映射错误是从哪儿来的呢?

求大佬指点一下

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐