利用Gson将数据库里的数据以Json格式发送出去

将数据库里数据以Json格式发送出去)。

环境:sql2008、Myeclipse2017

需要导入一些包,(一些不必要)


步骤如下

1、首先利用Sql2008新建了一个表。(表名:jiaocais)里面字段如下:

2、封装数据库(封装方法很多,网上有很多)

新建package名为db。

在包里新建Db.java

代码如下:

package db;
import java.sql.*;
public class Db {
    private String dbDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    private String sConnStr = "jdbc:sqlserver://localhost:1433;databasename=jiaocai";
      public Connection connect = null;
      public Connection getConnect() {
        return connect;
    }
    public void setConnect(Connection connect) {
        this.connect = connect;
    }

      public Db() {
        try {
     Class.forName(dbDriver).newInstance();
     connect = DriverManager.getConnection(sConnStr,"sa","sa");
        
        }
        catch (Exception ex) {
          System.out.println("sb");
        }
      }      
      public PreparedStatement executeUpdate(String sql)
        {    
            
          PreparedStatement preparedStatement = null;

            try
            {  
                preparedStatement = connect.prepareStatement(sql);//预处理

            }
            catch(SQLException ex)
            {
                System.err.println(ex.getMessage());
                        
            }
            return preparedStatement;
            
        }

 
}



3.新建类(javabean)与数据库字段对应。

新建package名为bean,里面新建Jiaocai.java

代码如下:

package bean;

import java.sql.Date;

public class Jiaocai {

    
    private long jiaocaiid;
    private String jiaocainame;
    private String jiaocaicbs;
    private float jiaocaiprice;
    private String jiaocaisubject;
    private String jiaocaixb;
    private String jiaocaitype;
    private Date jiaocaiaddtime;
    private String jiaocaibeizhu;
    
    public long getJiaocaiid() {
        return jiaocaiid;
    }

    public void setJiaocaiid(long jiaocaiid) {
        this.jiaocaiid = jiaocaiid;
    }

    public String getJiaocainame() {
        return jiaocainame;
    }

    public void setJiaocainame(String jiaocainame) {
        this.jiaocainame = jiaocainame;
    }

    public String getJiaocaicbs() {
        return jiaocaicbs;
    }

    public void setJiaocaicbs(String jiaocaicbs) {
        this.jiaocaicbs = jiaocaicbs;
    }

    public float getJiaocaiprice() {
        return jiaocaiprice;
    }

    public void setJiaocaiprice(float jiaocaiprice) {
        this.jiaocaiprice = jiaocaiprice;
    }

    public String getJiaocaisubject() {
        return jiaocaisubject;
    }

    public void setJiaocaisubject(String jiaocaisubject) {
        this.jiaocaisubject = jiaocaisubject;
    }

    public String getJiaocaixb() {
        return jiaocaixb;
    }

    public void setJiaocaixb(String jiaocaixb) {
        this.jiaocaixb = jiaocaixb;
    }

    public String getJiaocaitype() {
        return jiaocaitype;
    }

    public void setJiaocaitype(String jiaocaitype) {
        this.jiaocaitype = jiaocaitype;
    }

    public Date getJiaocaiaddtime() {
        return jiaocaiaddtime;
    }

    public void setJiaocaiaddtime(Date jiaocaiaddtime) {
        this.jiaocaiaddtime = jiaocaiaddtime;
    }

    public String getJiaocaibeizhu() {
        return jiaocaibeizhu;
    }

    public void setJiaocaibeizhu(String jiaocaibeizhu) {
        this.jiaocaibeizhu = jiaocaibeizhu;
    }

    public Jiaocai() {
        super();
        // TODO Auto-generated constructor stub
    }

}


4、新建package名为servletss,里面新建一个servlet 名为SelectJiaocai.java

代码如下:

package servletss;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import bean.Jiaocai;
import db.Db;

/**
 * Servlet implementation class SelectJiaocai
 */
@WebServlet(description = "查询教材", urlPatterns = { "/SelectJiaocai" })
public class SelectJiaocai extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public SelectJiaocai() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        request.setCharacterEncoding("UTF-8");    
        PrintWriter out=response.getWriter();
        Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
        String json = "";
        Db db = new Db();
        List<Jiaocai> arrayList = new ArrayList<Jiaocai>();
       
        String sql = "select * from jiaocais";
        PreparedStatement preparedStatement = db.executeUpdate(sql);
        try {
            ResultSet resultSet = preparedStatement.executeQuery();

            while(resultSet.next()){

                Jiaocai jiaocai = new Jiaocai();

                jiaocai.setJiaocaiid(resultSet.getLong(1));
                jiaocai.setJiaocainame(resultSet.getString(2));
                jiaocai.setJiaocaicbs(resultSet.getString(3));
                jiaocai.setJiaocaiprice(resultSet.getFloat(4));
                jiaocai.setJiaocaisubject(resultSet.getString(5));
                jiaocai.setJiaocaixb(resultSet.getString(6));
                jiaocai.setJiaocaitype(resultSet.getString(7));
                jiaocai.setJiaocaiaddtime(resultSet.getDate(8));
                jiaocai.setJiaocaibeizhu(resultSet.getString(9));
                arrayList.add(jiaocai);    
            }
            json = gson.toJson(arrayList);
            preparedStatement.close();
            db.getConnect().close();
            out.print(json);
            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}




参考:

https://blog.csdn.net/qq_37750143/article/details/78597134
https://www.cnblogs.com/linus-tan/p/7687129.html



阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页