/**
* @Auther: zml
* @Date: 2018/6/8
*/
import org.springframework.jdbc.core.CallableStatementCallback;
import org.springframework.jdbc.core.CallableStatementCreator;
import org.springframework.jdbc.core.JdbcTemplate;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Types;
import java.util.ArrayList;
import java.util.List;
/**
* @Auther: zml
* @Date: 2018/6/8
*/
public class Test {
private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
//调用存储过程,一个输入参数,三个输出
public List<String> callPro(String str){
//final String str = str.toString();
List<String> resList = (List)jdbcTemplate.execute(
new CallableStatementCreator(){
@Override
public CallableStatement createCallableStatement(Connection connection) throws SQLException {
String storedPro = "{call KPI.CHECK_SITUATION(?,?,?,?)}";
CallableStatement cs = connection.prepareCall(storedPro);
cs.setString(1, str);
//输出参数类型
cs.registerOutParameter(2, Types.INTEGER);
cs.registerOutParameter(3, Types.VARCHAR);
cs.registerOutParameter(4, Types.VARCHAR);
return cs;
}
},(cs)->{
cs.execute();
List<String> list = new ArrayList<String>();
list.add(cs.getInt(2)+"");
list.add(cs.getString(3));
list.add(cs.getString(4));
return list ;
}
);
return resList;
}
public static void xxmain(String[] args){
Test t = new Test();
//调用存储过程,传一个空的字符串
t.callPro("");
}
}