zoukankan      html  css  js  c++  java
  • mybatis 一对多映射踩过的坑

    实体类Sharing(省略get set):

    public class Sharing implements Serializable {
        private Long sharingId;
    
        private Long userId;
    
        private Integer sharingTypeId;
    
        private String sharingDescribe;
    
        private String sharingUrl;
    
        private Integer sharingState;
    }

    实体类SharingType(省略get set):

    public class SharingType implements Serializable{
        private Integer sharingTypeId;
    
        private Long userId;
    
        private String sharingName;
    
        private Integer sharingTypeState;
    
        private List<Sharing> sharingList;
    }

    SharingMapper.xml:

      <resultMap id="BaseResultMap" type="com.lemon.boboke.entity.Sharing">
        <id column="sharing_id" jdbcType="BIGINT" property="sharingId" />
        <result column="user_id" jdbcType="BIGINT" property="userId" />
        <result column="sharing_type_id" jdbcType="INTEGER" property="sharingTypeId" />
        <result column="sharing_describe" jdbcType="VARCHAR" property="sharingDescribe" />
        <result column="sharing_url" jdbcType="VARCHAR" property="sharingUrl" />
        <result column="sharing_state" jdbcType="INTEGER" property="sharingState" />
      </resultMap>

    SpringTypeMapper.xml:

      <resultMap id="BaseResultMap" type="com.lemon.boboke.entity.SharingType">
        <id column="sharing_type_id" jdbcType="INTEGER" property="sharingTypeId" />
        <result column="user_id" jdbcType="BIGINT" property="userId" />
        <result column="sharing_name" jdbcType="VARCHAR" property="sharingName" />
        <result column="sharing_type_state" jdbcType="INTEGER" property="sharingTypeState" />
        <collection property="sharingList" resultMap="com.lemon.boboke.dao.SharingMapper.BaseResultMap"/>
      </resultMap>

    踩坑的地方(返回类型:resultType="com.lemon.boboke.entity.SharingType"

      <select id="selectAllGroupByType" resultType="com.lemon.boboke.entity.SharingType">
        SELECT sht.*,shar.sharing_id,shar.sharing_describe,shar.sharing_url,shar.sharing_state FROM `sharing_type` AS sht
        inner JOIN `sharing` AS shar  ON sht.sharing_type_id = shar.sharing_type_id
        WHERE sht.user_id = (SELECT `user_id` FROM `user` WHERE `user`.user_account = #{userAccount})
        AND sht.sharing_type_state = 0 AND shar.sharing_state = 0
      </select>

     因为是多表查询,返回结果应该是新的映射BaseResultMap

     

  • 相关阅读:
    抓取登录后的数据
    Form认证的几点说明
    eclipse启动错误:java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContainer
    mysql游标的使用 No data
    mysql insert 主键 重复问题
    tail 命令
    maven 打包可执行jar的方法
    maven中如何打包源代码
    工程师,请优化你的代码
    在服务器端判断request来自Ajax请求(异步)还是传统请求(同步)
  • 原文地址:https://www.cnblogs.com/ldl326308/p/12720353.html
Copyright © 2011-2022 走看看