zoukankan      html  css  js  c++  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 FileReader("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 (JsonIOException 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中的相关操作,仅供参考学习交流。

  • 相关阅读:
    PHP header函数使用教程
    mysql show processlist 命令检查mysql lock
    MySQL
    background-position 用法详细介绍
    Windows下Mysql主从配置(Mysql5.5)
    Tcl介绍和基础语法
    研发项目管理
    VCS 查看代码覆盖率
    Openrisc的or1200
    MY $MYVIMRC
  • 原文地址:https://www.cnblogs.com/suyun0702/p/11327751.html
Copyright © 2011-2022 走看看