您的位置 首页 java

Java实现将json中的数值插入到mysql中

有时从网上界面中获取的数值是 json 格式的,需要存储到 mysql数据库 中,这时可以利用 java 的代码实现

json的样例:

 //保存的文件名称为test.json
{
"rows":[
{
    " number ": "001",
    "name": "烟感",
    "floor": "3",
    "position": "3层南竖井",
    "starttime":"2019-08-09 15:00:30"
},
{
    "number": "002",
    "name": "烟感",
    "floor": "3",
    "position": "3层南电梯厅",
    "starttime":"2019-08-08 1:10:30"
}]
}  

   Java 代码如下,需要用到一个解析 Json 的jar包,gson-2.8.0.jar:

 public class TestJsonDateToMysql {
 
     private   static  final String url = " jdbc :mysql://localhost:3306/sys?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC";
    private static final String user = " root ";//数据库用户名
    private static final String password = "zsy0702";//数据库密码
    private static Connection con;
    static Connection getconnect()
    {
        try
        {
            Class.forName("com. mysql .cj.jdbc.Driver");//调用驱动
            con = DriverManager.getConnection(url, user, password);
        }
        catch (ClassNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (SQLException e)
        {
            e.printStackTrace();
        }
        return con;
    }
    public static  void  moreinsertdata(Connection con)//插入数据进入数据库中
    {
        JsonParser parser = new JsonParser() ;
        JsonObject object;
        try
        {
            object = (JsonObject) parser.parse(new  File Reader("D:\\Java\\testdate.json"));         
            JsonArray array = object.get("rows").getAsJsonArray();
            for(int i=0;i<array.size();i++)
            {
                JsonObject arrayObject = array.get(i).getAsJsonObject();
                PreparedStatement psql = con.prepareStatement("insert into b_sim (number,name,floor,position,starttime)" + "values(?,?,?,?,?)");
 
                psql.setInt(1, arrayObject.get("number").getAsInt());
                psql.setString(2, arrayObject.get("name").getAsString().toString());
                psql.setString(3, arrayObject.get("floor").getAsString().toString());
                psql.setString(4, arrayObject.get("position").getAsString().toString());
                //下面是关于json中出现时间格式的数值插入到mysql的相关操作
                String date = arrayObject.get("starttime").getAsString().toString();
                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                Date myDate = dateFormat.parse(date);
                Format format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 String  str=format.format(myDate);
                psql.setString(5, str);
                psql.executeUpdate();
                psql.close();              
            }
        } catch (JsonIO Exception  e1) {
            e1.printStackTrace();
        } catch (JsonSyntaxException e1) {
            e1.printStackTrace();
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ParseException e) {
            e.printStackTrace();
        }
                 
    }
     
    public static void main(String[] args)
    {
        Connection con = TestJsonDateToMysql.getconnect();
        moreinsertdata(con);
    }
}  

以上就是Java实现将json中的数值插入到mysql中的相关操作,仅供参考学习交流。

文章来源:智云一二三科技

文章标题:Java实现将json中的数值插入到mysql中

文章地址:https://www.zhihuclub.com/180598.shtml

关于作者: 智云科技

热门文章

网站地图