• mybatis---resultmap和resulttype


    在使用mybatis时遇到的问题。分享给大家

    R

    ResultMapWithBLOB是我自定义的一个resultmap。代码如下
    
    
    <resultMap id="ResultMapWithBLOB" type="model.Blog" >
        <constructor >
          <idArg column="id" jdbcType="INTEGER" javaType="java.lang.Integer" />
          <arg column="title" jdbcType="VARCHAR" javaType="java.lang.String" />
          <arg column="describle" jdbcType="VARCHAR" javaType="java.lang.String" />
          <arg column="writer" jdbcType="VARCHAR" javaType="java.lang.String" />
          <arg column="context" jdbcType="LONGVARCHAR" javaType="java.lang.String" />
        </constructor>
      </resultMap>
      <sql id="Base_Column_List" >
        id, title, describle, writer
      </sql>
      <sql id="Blob_Column_List" >
        context
      </sql>
      <select id="selectByPrimaryKey" resultType="ResultMapWithBLOB" parameterType="java.lang.String" >
        select 
        <include refid="Base_Column_List" />
        ,
        <include refid="Blob_Column_List" />
        from blog
        where writer = #{writer,jdbcType=VARCHAR}
      </select>
    
    

    再把单元测试的代码贴出来

    
    
       public void showpersonblog()throws Exception{
                List<Blog> b=blogService.showAllBlogPerson("1");
            for (Blog c:b
                 ) {
                System.out.println(c.getId());
                System.out.println(c.getContext());
                System.out.println(c.getDescrible());
                System.out.println(c.getTitle());
                System.out.println(c.getWriter());
            }
    
        }
    
    

    问题原因:MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接
    表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在。

    解决方法:将resulttype改为resultmap

    
    
      <select id="selectByPrimaryKey" resultMap="ResultMapWithBLOB" parameterType="java.lang.String" >
        select 
        <include refid="Base_Column_List" />
        ,
        <include refid="Blob_Column_List" />
        from blog
        where writer = #{writer,jdbcType=VARCHAR}
      </select>
    
    
    
     
     
     
    没有虚过一天,真好
  • 相关阅读:
    kafka学习
    centos/Fedora/RHEL 安全设置
    cordon、drain、delete node区别
    HARBOR 仓库 API功能接口
    gcr 镜像无法下载问题
    linux系统 重启盘符错乱问题
    Kafka史上最详细原理总结
    redis 部署
    mongodb4.0 安装
    gitstats 统计gitlab仓库中的代码
  • 原文地址:https://www.cnblogs.com/dailinfu/p/6339951.html
Copyright © 2020-2023  润新知