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中的相關操作,僅供參考學習交流。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM