JSON(JavaScript Object Notation)是一種輕量級的數據格式,目前廣泛應用于數據傳輸和存儲中。MySQL是一款關系型數據庫,可以將JSON數據存入數據庫中。本文介紹如何使用Java將JSON數據存入MySQL數據庫。
首先,在Java代碼中需要定義一個實體類,用于映射JSON數據。比如,我們定義一個User類,包含id、name和age三個屬性。
public class User { private int id; private String name; private int age; // 省略setter和getter方法 }
接著,我們需要導入相關的jar包。這里我們使用mysql-connector-java連接MySQL數據庫,使用json-lib讀取和解析JSON數據。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import net.sf.json.JSONObject; import net.sf.json.JSONSerializer; import net.sf.json.JsonConfig; import net.sf.json.util.CycleDetectionStrategy; public class JsonToMysqlDemo { static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/test"; static final String USER = "root"; static final String PASS = "root"; public static void main(String[] args) { Connection conn = null; PreparedStatement pstmt = null; try { // 注冊JDBC驅動 Class.forName(JDBC_DRIVER); // 打開連接 conn = DriverManager.getConnection(DB_URL, USER, PASS); // JSON字符串 String jsonStr = "{\"id\":1,\"name\":\"張三\",\"age\":18}"; // 將JSON字符串轉換為JSONObject對象 JsonConfig jsonConfig = new JsonConfig(); // 防止json-lib循環依賴 jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(jsonStr, jsonConfig); // 將JSONObject對象轉換為Java對象 User user = (User) JSONObject.toBean(jsonObject, User.class); // 插入數據 String sql = "insert into user(id, name, age) values (?, ?, ?)"; pstmt = conn.prepareStatement(sql); pstmt.setInt(1, user.getId()); pstmt.setString(2, user.getName()); pstmt.setInt(3, user.getAge()); pstmt.executeUpdate(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (pstmt != null) { pstmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } }
代碼中先定義了一個User類,然后使用mysql-connector-java和json-lib作為依賴庫。在main函數中定義了連接MySQL數據庫的相關信息,并將一個JSON字符串轉換為JSONObject對象,然后將JSONObject對象轉換為Java對象。最后執行SQL語句將數據存入MySQL數據庫。
至此,我們就可以使用Java將JSON數據存入MySQL數據庫了。注意,以上代碼只針對單條JSON數據進行處理,如果需要批量處理,則需要對代碼做出相應的修改。