微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Java在sql查询中传递多个参数?

如何解决如何使用Java在sql查询中传递多个参数?

我有一个 sql 查询,它显示在它的一个 select 语句下面我想动态传递值,但我不知道我们该怎么做。这里我想动态传递产品和位置 任何人都可以帮忙吗..

public static ResultSet RetrieveData() throws Exception {
    
        PreparedStatement statement;
    
         String sql = "select * FROM Courses WHERE "
                    + "product = product? "
                    + "and location = location? ";
         System.out.println(sql);
         DriverManager.registerDriver(new com.MysqL.cj.jdbc.Driver());
    
         String MysqLUrl = "jdbc:MysqL://localhost:3306/wave1_build";
         Connection con = DriverManager.getConnection(MysqLUrl,"root","root");
        statement = con.prepareStatement(sql);
    
        ResultSet rs = statement.executeQuery(sql);
        return rs;

解决方法

一种方法是使用普通的 ? 占位符和适当的 setter 来绑定值:

String sql = "SELECT * FROM Courses WHERE product = ? AND location = ?";
statement = con.prepareStatement(sql);
statement.setString(1,"some product");
statement.setString(2,"some location");

// NOTE: executeQuery() when used with prepared statements does NOT take any parameters
ResultSet rs = statement.executeQuery();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。