• 关于Mybatis将查询结果中添加常量列并返回


    引言

    在使用mybatis的时候,查询一个集合返回给前台页面,在有的时候,我们会添加一个常量字段到对象或者集合中,来标识这个对象属于的类型等等情况,当前台进行再次请求的时候携带此变量进行请求.

    但是:如果在数据库中并没有这个字段的时候,查询集合我们就需要前台进行这个字段的编写,写死!我们可否直接将其对应的字段返回呢?然后前台直接拿到这个字段进行请求即可?

    正文

    在进行mybatis查询的时候,我们都知道有ResultMap的结果集,所以我们可以在ResultMap中进行常量列的添加

    <resultMap id="otherMap" type="java.util.HashMap">
        <id column="user_id" property="userId" jdbcType="INTEGER" />
        <result column="phone" property="phone" jdbcType="INTEGER" />
        <result column="password" property="password" jdbcType="VARCHAR" />
        <result column="head_image" property="headImage" jdbcType="VARCHAR" />
        <result column="nick_name" property="nickName" jdbcType="VARCHAR" />
        <result column="email" property="email" jdbcType="VARCHAR" />
        <result column="typeColume" property="typeColume"/>  <!-- 添加的常量列 -- >
      </resultMap>

    既然我们已经添加了这个常量列,那么我们的列肯定是从SQL语句中查询出来的,否则无法找到column对应的列,所以我们在写SQL的时候,必须进行列的添加。

    select
       user.* ,
       1 as typeColume
    from user
    where user.id = #{id}

    其中,我们需要的常量的值 1 作为常量列typeColumn的值进行封装到ResultMap中,然后返回到前台页面了!

    结果集如下:

    {
        "password": "123456",
        "phone": 123456,
        "typeColume": 1,
        "id": 1
     }

    那么问题已经解决了!

    写在最后

    欢迎转载,请注明来源

  • 相关阅读:
    getopt 命令行参数解析
    Linux下使用indent整理代码
    终端常用快捷键
    gedit 乱码解决
    linux sysrq
    linux下的文件审计功能(audit inotify)
    gdb基本命令
    linux shell 字符截断
    linux 设置时间 date命令
    Ubuntu 时间同步
  • 原文地址:https://www.cnblogs.com/chenmc/p/9240126.html
Copyright © 2020-2023  润新知