是否可以使用预准备语句在java中进行连接?
public class Test {
static Connection conn;
static PreparedStatement ps;
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
String sql = "select addr.address_id from address addr inner join pizza_stores ps on addr.address_id = ps.address_id";
conn = ConnectionUtil.getConnection();
ps = conn.prepareStatement(sql);
System.out.println("DEBUG--: before query");
ResultSet rs = ps.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getInt("addr.address_id"));
}
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
我没有得到任何结果,但是当我在sql开发人员中运行时,我确实得到了结果(ex ADDRESS_ID - > 1,2,3)。我将在稍后使用存储过程。我很好奇。
答案 0 :(得分:1)
我发现了问题。
所以我有两张桌子(地址和pizza_stores)。
当我创建pizza_stores表时,在FK中,我将其引用到pizza_stores表(相同的表)而不是地址表。因此它不打印任何东西。
java代码在sql中更多地是一个约束问题。