Java 如何将参数传入mysql存储过程

Java 如何将参数传入mysql存储过程,java,mysql,jdbc,Java,Mysql,Jdbc,你好,我是Java和mysql的新手。我想知道如何使用JAVA中的可调用语句将IN参数传递给mysql存储过程。下面是我的代码,我无法让它工作 Connection conn = DriverManager.getConnection ("jdbc:mysql://"+host+":3306/"+database, user, pass); conn.setAutoCommit(false); CallableStatement cs1 = conn.prepareCall("Call g

你好,我是Java和mysql的新手。我想知道如何使用JAVA中的可调用语句将IN参数传递给mysql存储过程。下面是我的代码,我无法让它工作

Connection conn = DriverManager.getConnection
("jdbc:mysql://"+host+":3306/"+database, user, pass);

conn.setAutoCommit(false);


CallableStatement cs1 = conn.prepareCall("Call get_school_address_details()");
cs1.setInt(1);

ResultSet res = cs1.executeQuery();

System.out.println("Result of SP");

while (res.next())
{
    System.out.println (res.getString(1) + " " + res.getString(2) + " " + res.getString(3));

}
它似乎不喜欢我尝试使用cs1.setInt(1)传递参数的方式


请给我一些建议!我只想传递值1,它是一个int,通过传递参数名,然后是我想传递的值,在本例中是第一个:

cs1.setInt("sch_code",1);

您需要在过程调用中显式地使用参数。(例如
{call mysp(?)}
我看到了这一点,但它不允许我将值1添加到cs1.setInt(1);尽管
setInt
接受两个参数:位置和值。