Java数据库查询结果转Json,还能更简单吗?

mallon 发布于 2014/03/18 22:50
阅读 9K+
收藏 10

MySQL连接为什么挂死了?别踩坑!>>>

用到两个小库:

  1. http://commons.apache.org/proper/commons-dbutils/
  2. http://www.stringtree.org/stringtree-json.html

代码:

public static void main(String... args) throws Exception {
        Class.forName("org.postgresql.Driver");
        Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost/postgres?user=postgres&password=postgres");
        System.out.println(new JSONValidatingWriter().write(
                new QueryRunner().query(conn, "select id::text, name from test", new MapListHandler())
        ));
        conn.close();
    }

输出:

[{"id":"26614eea-ae47-11e3-9584-1f086d4d1ce2","name":"aaa"},{"id":"288bfff8-ae47-11e3-8b8b-77aa1aa68b3c","name":"bbb"},{"id":"93c93df6-ae71-11e3-8c50-071738911fe3","name":"asd"},{"id":"980c49da-ae71-11e3-9c61-835b8f1d20a3","name":"asd"},{"id":"9872ab6c-ae71-11e3-8742-67f8075153f3","name":"asd"},{"id":"9894498e-ae71-11e3-b4f0-ab4ae036a6a5","name":"asd"},{"id":"98ce5aac-ae71-11e3-82ef-2f0520ab0bb2","name":"asd"},{"id":"98e854de-ae71-11e3-bec8-f35d2efdef5c","name":"asd"},{"id":"99024f06-ae71-11e3-a6b6-7bc791b4c75c","name":"asd"},{"id":"d28b6f5a-ae71-11e3-b652-f3366b9cd5af","name":"asd"},{"id":"d2e71e9a-ae71-11e3-a54a-471d71e1fd7d","name":"asd"},{"id":"d305ae5a-ae71-11e3-8e07-9b952548c8cb","name":"asd"},{"id":"d78d7dae-ae71-11e3-8cf3-2bd026cfd5bf","name":"asd"},{"id":"3f8f5740-ae74-11e3-b321-a33713b1fec8","name":"asd"},{"id":"58ec927a-ae74-11e3-8cc7-7378998a036f","name":"asd"}]

当然了,dbutils和stringtree有些地方本应该写作静态方法的非得new,还是觉得有些繁琐的。


加载中
2
景愿
景愿

引用来自“Mallon”的答案

比的就是调用的库,有本事你们找些更简单的我看看
能否借LZ的main方法一用,我连驱动加载可以省了?
2
天天笑笑
天天笑笑

无聊,用第三方的库来比较谁更简单是没有可比性的,不同的库封装不一样的。比如这样算不算比你简单?

System.out.println(Util.toJson("select id::text, name from test"));

1
calvary
calvary

无聊的2b.

  你有本事。把c数据结构的每一种算法给我自己写出来,(包括图算法)。

  然后再turn on 一遍 。不出exception 不弹 0xfff01203 之类的。 . 那我就认为你比较牛了...

  否则, 调一个鸟函数,几行代码, 就认为比较精简了, 就很有优越感了, 还敢放出osc上来藐视群雄了 ,   那只能说明你的可笑!!。下面发生了什么你不懂.... 还是你不可控的.

  

0
0
朱宏青
朱宏青
写一个直接边获得数据边拼接json的handler 估计效率比你高点 也少new一个类 :)
0
实迷途其未远觉今是而昨非
实迷途其未远觉今是而昨非
调用工具一行方法完成转换也说成自己的?
mallon
mallon
回复 @愚蠢的人类 : 也行,写出来看看吧
实迷途其未远觉今是而昨非
实迷途其未远觉今是而昨非
回复 @Mallon : 我说的是数据库查询结果转json那个
mallon
mallon
回复 @愚蠢的人类 : 一句话完成?写出来看看呗
实迷途其未远觉今是而昨非
实迷途其未远觉今是而昨非
回复 @Mallon : 那个我做不到,但我能做到和你一样,调用外部库,一句话完成
mallon
mallon
你有本事不调用?直接拿C语言从数据库开始写起?哦不对,应该是机器语言。好吧,买三极管自己做CPU?
0
dsgfdsgf
dsgfdsgf
还要依赖库啊
0
GameKing
GameKing
。。。。
0
mallon
mallon
比的就是调用的库,有本事你们找些更简单的我看看
返回顶部
顶部