zoukankan      html  css  js  c++  java
  • 关于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
     }

    那么问题已经解决了!

    写在最后

    欢迎转载,请注明来源

  • 相关阅读:
    eclipse fail to create java virtual machine
    sas软件连接Oracle数据库的办法
    JAVA中数据的读取与写入,不同类型数据的转换
    二维数组的在函数中的传递
    【转】值传递与引用传递
    【转】深拷贝与浅拷贝
    (转)JS报表控件highcharts应用
    highstocks.js使用指南
    (转)Highcharts使用指南(出处:http://liuhaorain.cnblogs.com )
    jQuery实现checkbox全选,反选
  • 原文地址:https://www.cnblogs.com/chenmc/p/9240126.html
Copyright © 2011-2022 走看看