准备好的语句加入Java

时间:2017-06-05 16:42:45

标签: java oracle join jdbc plsql

是否可以使用预准备语句在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)。我将在稍后使用存储过程。我很好奇。

1 个答案:

答案 0 :(得分:1)

我发现了问题。

所以我有两张桌子(地址和pizza_stores)。

当我创建pizza_stores表时,在FK中,我将其引用到pizza_stores表(相同的表)而不是地址表。因此它不打印任何东西。

java代码在sql中更多地是一个约束问题。