zoukankan      html  css  js  c++  java
  • mybitis中对象字段与表中字段名称不匹配(复制)

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

          方法一:通过在查询的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
  • 相关阅读:
    零零碎碎
    MFC入门--显示静态图片及调用本地软件
    Python版本OpenCV安装配置及简单实例
    用星星画菱形--Java
    pycharm IDE在导入自定义模块时提示有错,但实际没错
    Cmd使用方式--命令行运行程序
    cv2 & PIL(pillow)显示图像
    C++命令行多文件编译(g++)
    MNIST多图显示--Python练习
    visual studio 2017--括号自动补全
  • 原文地址:https://www.cnblogs.com/summer-fate/p/7294066.html
Copyright © 2011-2022 走看看