欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

json存入mysql數(shù)據(jù)庫(kù) java

JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)格式,目前廣泛應(yīng)用于數(shù)據(jù)傳輸和存儲(chǔ)中。MySQL是一款關(guān)系型數(shù)據(jù)庫(kù),可以將JSON數(shù)據(jù)存入數(shù)據(jù)庫(kù)中。本文介紹如何使用Java將JSON數(shù)據(jù)存入MySQL數(shù)據(jù)庫(kù)。


首先,在Java代碼中需要定義一個(gè)實(shí)體類(lèi),用于映射JSON數(shù)據(jù)。比如,我們定義一個(gè)User類(lèi),包含id、name和age三個(gè)屬性。

public class User {
private int id;
private String name;
private int age;
// 省略setter和getter方法
}

接著,我們需要導(dǎo)入相關(guān)的jar包。這里我們使用mysql-connector-java連接MySQL數(shù)據(jù)庫(kù),使用json-lib讀取和解析JSON數(shù)據(jù)。

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 {
// 注冊(cè)JDBC驅(qū)動(dòng)
Class.forName(JDBC_DRIVER);
// 打開(kāi)連接
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// JSON字符串
String jsonStr = "{\"id\":1,\"name\":\"張三\",\"age\":18}";
// 將JSON字符串轉(zhuǎn)換為JSONObject對(duì)象
JsonConfig jsonConfig = new JsonConfig();
// 防止json-lib循環(huán)依賴(lài)
jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(jsonStr, jsonConfig);
// 將JSONObject對(duì)象轉(zhuǎn)換為Java對(duì)象
User user = (User) JSONObject.toBean(jsonObject, User.class);
// 插入數(shù)據(jù)
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();
}
}
}
}

代碼中先定義了一個(gè)User類(lèi),然后使用mysql-connector-java和json-lib作為依賴(lài)庫(kù)。在main函數(shù)中定義了連接MySQL數(shù)據(jù)庫(kù)的相關(guān)信息,并將一個(gè)JSON字符串轉(zhuǎn)換為JSONObject對(duì)象,然后將JSONObject對(duì)象轉(zhuǎn)換為Java對(duì)象。最后執(zhí)行SQL語(yǔ)句將數(shù)據(jù)存入MySQL數(shù)據(jù)庫(kù)。


至此,我們就可以使用Java將JSON數(shù)據(jù)存入MySQL數(shù)據(jù)庫(kù)了。注意,以上代碼只針對(duì)單條JSON數(shù)據(jù)進(jìn)行處理,如果需要批量處理,則需要對(duì)代碼做出相應(yīng)的修改。