我是靠谱客的博主 单薄衬衫,最近开发中收集的这篇文章主要介绍Mybatis 使用Mybatis时实体类属性名和表中的字段名不一致,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

    开发中,实体类中的属性名和对应的表中的字段名不一定都是完全相同的,这样可能会导致用实体类接收返回的结果时导致查询到的结果无法映射到实体类的属性中,那么该如何解决这种字段名和实体类属性名不相同的冲突呢?

      方法一:通过在查询的SQL语句中定义字段名的别名的方式,让字段名的别名和实体类中的属性名一致,这样就可以实现实体类属性和表字段一一对应。(通过在SQL语句中定义别名的方法实现)

 

  1.  
    <select id="queryCertificationInfoByCerNumber" parameterType="string" resultMap="certificationResultMap">
  2.  
    SELECT cer_number cerNumber FROM, cer_time cerTime, cer_type cerType t_diamond_allinfo_gia WHERE cer_number = #{cerNumber}
  3.  
    </select>

      方法二:通过<resultMap>来映射字段名和实体类属性名的一一对应关系。(使用Mybatis提供的解决方法)

 

  1.  
    <?xml version="1.0" encoding="UTF-8"?>
  2.  
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3.  
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4.  
    <mapper namespace="com.jqscm.mapper.SearchMapper">
  5.  
     
  6.  
    <select id="queryCertificationInfoByCerNumber" parameterType="string" resultMap="certificationResultMap">
  7.  
    SELECT * FROM t_diamond_allinfo_gia WHERE cer_number = #{cerNumber}
  8.  
    </select>
  9.  
    <!-- 通过resultMap映射实体类和表字段的关系 -->
  10.  
    <resultMap type="CertificationInfo" id="certificationResultMap">
  11.  
    <!-- 用id属性来映射主键字段 -->
  12.  
    <id property="cerNumber" column="cer_number"/>
  13.  
    <!-- 用result属性来映射非主键字段 -->
  14.  
    <result property="cerTime" column="cer_time"/>
  15.  
    <result property="cerType" column="cer_type"/>
  16.  
    <result property="shape" column="shape"/>
  17.  
    <result property="size" column="size"/>
  18.  
    </resultMap>
  19.  
    </mapper>

--------------------- 本文来自 l4j 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/lsq_java_4/article/details/60745383?utm_source=copy 

转载于:https://www.cnblogs.com/kakaisgood/p/9719462.html

最后

以上就是单薄衬衫为你收集整理的Mybatis 使用Mybatis时实体类属性名和表中的字段名不一致的全部内容,希望文章能够帮你解决Mybatis 使用Mybatis时实体类属性名和表中的字段名不一致所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部