使用MyBatis时,解决表字段和实体类属性不一致问题

导读:本篇文章讲解 使用MyBatis时,解决表字段和实体类属性不一致问题,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、问题起因

我们经常会遇到表字段和实体类属性不一致问题,因为在sql中表的字段命名规则是每个单词用下划线隔开,而java中实体类属性的命名规则是每个单词直接采取驼峰命名,这样就会经常导致不一致问题!

二、不一致问题展示

  • 表字段
    在这里插入图片描述
  • 实体类字段
@Data
public class Test implements Serializable {
    private static final long serialVersionUID = 337361630075002456L;

    private String id;

    private String name;

    private String state;

    private String createTime;

}

三、解决方案

注:本次只展示xml文件里的写法

  • 第一种:起别名
<select id="selectTest" resultType="com.wang.test.demo.entity.Test">
	select id,name,state,create_time createTime from test
</select>
  • 第二种:使用resultMap来映射
<resultMap type="com.wang.test.demo.entity.Test" id="TestMap">
    <result property="id" column="id" jdbcType="VARCHAR"/>
    <result property="name" column="name" jdbcType="VARCHAR"/>
    <result property="state" column="state" jdbcType="VARCHAR"/>
    <result property="createTime" column="create_time" jdbcType="VARCHAR"/>
</resultMap>

<select id="selectTest" resultMap="TestMap">
	select * from test
</select>
  • 第三种:使用map来直接接(不建议使用,破坏了ORM映射规则)
<select id="selectTest" resultType="map">
	select * from test
</select>

四、总结

以上就是这三种解决方案,谢谢大家观看,有什么问题留言哦!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/85297.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!