我在PostgreSQL中创建了一个数据库并成功创建了它们之间的连接,并且还使用Java源代码创建了表。
我的问题是如何将值插入来自用户输入的这些表。 我已经搜索了足够的谷歌,但没有找到能够真正解释我需要做什么的东西。
答案 0 :(得分:0)
https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html
try (PreparedStatement pstmt = con.prepareStatement("INSERT INTO employees VALUES (?,?)")) {
pstmt.setBigDecimal(1, inputFromUser) <---- injection safe
pstmt.setInt(2, inputFromUser) <---- injection safe
...
} // Auto close.
最重要的是使用预备语句的问号而不是字符串concat,concat允许用户将sql注入到你的查询中。
答案 1 :(得分:-1)
在处理用户输入的方法中,您可以执行INSERT或UPDATE查询。以下是docs:
中的修改示例Statement st = conn.createStatement();
String query_st = "INSERT INTO user_info_table VALUES ('"+user_id+"', '"+age+"', "+height+");";
ResultSet rs = st.executeQuery(query_st);
while (rs.next())
{
System.out.print("Column 1 returned ");
System.out.println(rs.getString(1));
} rs.close();
st.close();
这假设您有一张表&user; into_table&#39;这有三列。