Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 如何使用JDBC从java获取多个数据_Spring_Jdbc - Fatal编程技术网

Spring 如何使用JDBC从java获取多个数据

Spring 如何使用JDBC从java获取多个数据,spring,jdbc,Spring,Jdbc,如何使用jdbc在javamaven-Spring中使用多个查询这里DB-coffice预定义的ans从DB中输出为'5',我需要其他字段数据,如名称、组、状态,在一次调用中位于同一个表上 public String testMysqlCall() throws Exception { try { return gopuJdbcTemplate.query("select id from gopu limit 5", new IdMapp

如何使用jdbc在javamaven-Spring中使用多个查询这里DB-coffice预定义的ans从DB中输出为'5',我需要其他字段数据,如名称、组、状态,在一次调用中位于同一个表上

 public String testMysqlCall() throws Exception {
            try {
                return gopuJdbcTemplate.query("select id from gopu limit 5", new IdMapper());
            } catch( Exception e) {
                throw e;
            }
        }

    private class IdMapper implements ResultSetExtractor<String> {
        public String extractData(ResultSet resultSet) throws SQLException {
            String toReturn=null;
            while(resultSet.next()) {
                toReturn = resultSet.getString("id");

            }
            return toReturn;
        }
    }
公共字符串testMysqlCall()引发异常{
试一试{
返回gopuJdbcTemplate.query(“从gopu limit 5中选择id”,new IdMapper());
}捕获(例外e){
投掷e;
}
}
私有类IdMapper实现ResultTextRactor{
公共字符串提取数据(ResultSet ResultSet)引发SQLException{
字符串toReturn=null;
while(resultSet.next()){
toReturn=resultSet.getString(“id”);
}
回归回归;
}
}

在代码中执行的SQL查询如下所示:

从gopu limit 5中选择id

因为它说“选择idfrom”,所以它只会在结果中返回id

要返回多个列,请显式声明它们:

从gopu limit 5中选择id、名称、组、状态

或者使用通配符返回所有列:

从gopu limit 5中选择*


添加select id后出现此错误,名称来自gopu limit 5 org.springframework.jdbc.BadSqlGrammarException:StatementCallback;错误的SQL语法[选择id,名称gopu limit 5];嵌套异常为com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:字段列表中的未知列“id”是否确定SQL查询为
select id,name FROM gopu limit 5
?我这样问是因为异常消息中的查询没有提到“from”。如果不实际查看代码或数据库,则很难进行调试:)。你用asterix(
*
)符号试过了吗?这两个查询asterix都是一样的,我认为获取数据需要将它传递给数组