zoukankan      html  css  js  c++  java
  • java中gson的简单使用

      把从数据库中查询的记录以JSON格式返回给客户端,在这里使用gson-2.2.4.jar包。

    代码结构如下:

    数据库结构如下:

    (1)User.java

    public class User {
        private int id;
        private String name;
        private int age;
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
    }

    (2)JdbcUtils.java

    public class JdbcUtils {
        private static final String CLASS_NAME="com.mysql.jdbc.Driver";
        private static final String URL="jdbc:mysql://localhost:3306/test";
        private static final String USER="root";
        private static final String PWD="mysql";
        
        private JdbcUtils(){}
        
        static{
            try{
                Class.forName(CLASS_NAME);
            }catch(Exception e){
                e.printStackTrace();
            }
        }
        
        //建立数据库链接
        public static Connection getConn()throws Exception{
            return DriverManager.getConnection(URL,USER,PWD);
        }
        
        //释放资源
        public static void free(ResultSet rs,Statement st,Connection conn){
                try {
                    if(rs!=null){
                        rs.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }finally{
                    try {
                        if(st!=null){
                            st.close();
                        }
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }finally{
                        try {
                            if(conn!=null){
                                conn.close();
                            }
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                    }
                }
        }
    }

    (3)UserServer.java

    public class UserServer {
        public static List<User> getUserList(){
            List<User> list=null;
            Connection conn=null;
            PreparedStatement ps=null;
            ResultSet rs=null;
            User user=null;
            String sql="select id,name,age from user";
            try {
                conn=JdbcUtils.getConn();
                ps=conn.prepareStatement(sql);
                rs=ps.executeQuery();
                list=new ArrayList<User>();
                while(rs.next()){
                    user=new User();
                    user.setId(rs.getInt("id"));
                    user.setName(rs.getString("name"));
                    user.setAge(rs.getInt("age"));
                    list.add(user);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }finally{
                JdbcUtils.free(rs, ps, conn);
            }
            return list;
        }
    }

    (4)Test.java

    public class Test {
        public static void main(String args[]){
            List<User>userList=UserServer.getUserList();
            if(userList!=null){
                Gson gson=new Gson();
                String jsonstr=gson.toJson(userList);
                System.out.println(jsonstr);
            }
        }
    }

    运行结果:

    [
      {"id":1,"name":"zhangsan","age":23},
      {"id":2,"name":"lisi","age":25},
      {"id":3,"name":"王五","age":25}
    ]
  • 相关阅读:
    HDU2438:Turn the corner(三分)
    XTU1267:Highway(LCA+树的直径)
    HDU6024:Building Shops(DP)
    “玲珑杯”ACM比赛 Round #13 B -- 我也不是B(二分排序)
    XTU1266:Parentheses(贪心+优先队列)
    Educational Codeforces Round 21 D
    Educational Codeforces Round 21E selling souvenirs (dp)
    EOJ3247:铁路修复计划
    关于工厂模式的 个人理解
    设计模式之 工厂方法
  • 原文地址:https://www.cnblogs.com/yshyee/p/3375621.html
Copyright © 2011-2022 走看看