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

原创 2018年04月16日 00:28:28

将数据库里数据以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



java发送复杂Email

-
  • 1970年01月01日 08:00

Java从数据库取出BLOB数据放入map中,从map中拿出转换成String类型数据

for (Map map:list){ **Blob blob=((BLOB) map.get("FILEDATA"));**//得到并强转成BLOB ...
  • dongzhongyan
  • dongzhongyan
  • 2017-02-23 16:22:26
  • 323

将Excel文件中树状结构的数据导入到MSSQL数据库的表中

该图为一树状结构的Excel文件的数据   首先将该Excel文件导入到数据库 打开数据库,右键数据库名,选择任务里的导入数据(这里不详细解释)   导入完成后,表中会有一个跟这一样的表(t...
  • chuanzhang5687
  • chuanzhang5687
  • 2012-02-13 12:21:20
  • 2207

如何获取表格中的数据并以json格式存储?

在开发的过程中,不一定所有数据都是单条存储的,有的时候也会出现将多条数据进行 整合,以另外一种形式存储数据库。 这篇文章介绍的就是将一个表格形式的数据转化成json格式进行存储。 此处给出的实例...
  • shengming0302
  • shengming0302
  • 2017-08-05 14:49:36
  • 846

STM8S105中断模式串口收发一组数据

  • 2016年04月15日 15:21
  • 1.66MB
  • 下载

Elasticsearch示例数据 logs.json

  • 2017年03月14日 19:44
  • 8.36MB
  • 下载

将查询出来的数据集转化成JSON格式的类

using System; using System.Collections; using System.Collections.Generic; using System.Data; usi...
  • u011961280
  • u011961280
  • 2016-11-13 15:48:14
  • 644

Qt从网络读取数据写入本地二进制文件

发送请求: QNetworkRequest request(url); if (m_ReqQueue.isEmpty()) { m_NetAccessManager.get(r...
  • u010085607
  • u010085607
  • 2013-06-13 19:16:58
  • 1188

串口透传程序

  • 2015年07月15日 14:18
  • 278KB
  • 下载

.net中输出变量到aspx页面

1,label不解释 2,定义全局变量  public int i=2;  在aspx页面输出了  感觉这个办法不好,没有测试性能...
  • nanshan_hzq
  • nanshan_hzq
  • 2011-12-13 10:51:03
  • 2832
收藏助手
不良信息举报
您举报文章:利用Gson将数据库里的数据以Json格式发送出去
举报原因:
原因补充:

(最多只允许输入30个字)