使用Java程序向postgres数据库插入json数据



我正在寻找帮助插入json数据到postgres表使用java程序。我已经尝试了以下代码,但找不到任何数据插入到表中。我在编程方面几乎没有经验。谁能帮我修改一下我的程序使它工作吗?

这是我的代码。

enter code here  stmt = c.createStatement();
String sql = "CREATE TABLE jason " +
"(ID INT      NOT NULL," +
" NAME           json    NOT NULL)";
stmt.executeUpdate(sql); //updates the table
//json data----------------
String[] MESSAGE = {"{"customer_name": "John", "items": { "description": "milk", "quantity": 4 } }"};
sql = "INSERT INTO jason (ID,NAME) "
+ "VALUES (1,::MESSAGE );";
stmt.executeUpdate(sql);

您在这里有语法问题,请阅读此说明:https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html

应该是:

PreparedStatement pstmt = con.prepareStatement("INSERT INTO jason (ID,NAME) VALUES (1, ?1);");
pstmt.setString(1, yourJsonString)

要在语句中使用参数,需要使用准备好的语句:

java.sql.PreparedStatement stmt = conn.prepareStatement("INSERT INTO jason (ID,NAME) VALUES (1,?)" );
stmt.setString(1, "{"customer_name": "John", "items": { "description": "milk", "quantity": 4 } }");
stmt.executeUpdate();

最新更新