我必须使用preparedstatement / statement运行jdbc更新查询,而不知道列类型。 我有一个查询说'更新表设置状态=?其中id =? “ 我得到的值为{(“status”=“123”),(“id”=“546”)}
现在我不知道列类型,是否有使用jdbc运行此查询的通用方法?
而不是运行 - ps.setString(1,map.get((“status”)); 因为我不知道DB中的状态字段的列类型(也可能是int)
请不要使用spring jdbc模板帮我解决这个问题。
答案 0 :(得分:0)
ps.setString(1,map.get(("status"))
也适用于整数,您只需要注意整数列中的value
属于int
类型。
以下代码解释说:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class SOJDBC
{
public static void main(String rgs[])
{
Connection con = DBConnection.getConnection("TEMP");
try
{
PreparedStatement pstmt = con.prepareStatement("insert into STUDENT(ROLLNO,NAME,AGE) values(?,?,?)");
pstmt.setString(1, "1"); //column type is integer, will work because the value is of int type
pstmt.setString(2, "Bhushan");
pstmt.setString(3, "25"); //column type is integer, will work because the value is of int type
pstmt.executeUpdate();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}