Mybatis之JSON篇:mysql查询结果转JSON篇(resultMap与resultType)

Mybatis之JSON篇:mysql查询结果转JSON篇(resultMap与resultType)

今天因为前端方面的需求,需要把对mysql数据库的查询结果集转成JSON格式,结果就出现问题了,折腾了一下午才找到解决办法。

首先先把遇到的问题说出来:


  • 查询返回的结果集为
    [{a=09:00:00, b=1, c=100.0},
    {a=10:00:00, b=1, c=100.0}]
    这种格式。
    在使用JSONArray.fromObject()将该结果转JSON时,返回的结果一直为空,应该是转换失败,该方法无法识别需要转换的内容。
    由于使用的resultMap=“hashmap”,并且a、b、c并不全是某个JavaBean中的属性,所以也无法通过get()方法获得。

在网上查阅了众多文章之后,最后得出的解决办法为:

  • 将resultMap="hashmap"改为resultType=“CustomMap”,CustomMap为自定义的映射
  
          
          
                 
   

type=“com.hai.util.CustomTable” 中的CustomTable为新建的一个实体类,在里面定义了属性a、b、c。
这下返回的List终于可以成功转换成JSON
[{“a”:“09:00:00”,“b”:1,“c”:100},
{“a”:“10:00:00”,“b”:1,“c”:100}]
里面的值也可以用方法get()拿到了。

  • 本人也是刚刚学习mybatis没多久,也是第一次写博客,不妥之处请多多包涵,希望看了这篇文章后能帮到你,谢谢。

你可能感兴趣的:(Java)