Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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
Java 通过jdbctemplate运行查询_Java_Spring_Jdbctemplate - Fatal编程技术网

Java 通过jdbctemplate运行查询

Java 通过jdbctemplate运行查询,java,spring,jdbctemplate,Java,Spring,Jdbctemplate,我有一个查询,它返回一个包含四个整型列的单行 select col1, col2, col3, col4 from myTable where id='xyz'; 我应该从JdbcTemplate使用哪种查询方法,以及如何将值放入四个int变量中,比如int1、int2、int3、int4 下面给出的rowMapper答案在我的情况下可能不起作用。因为我没有一个有四个int属性的对象,我可以设置它们 我正在一个方法中运行一个独立的查询,我想将返回的四列结果设置为四个整数,它们是该方法的局部变量

我有一个查询,它返回一个包含四个整型列的单行

select col1, col2, col3, col4 from myTable where id='xyz';
我应该从JdbcTemplate使用哪种查询方法,以及如何将值放入四个int变量中,比如int1、int2、int3、int4

下面给出的rowMapper答案在我的情况下可能不起作用。因为我没有一个有四个int属性的对象,我可以设置它们

我正在一个方法中运行一个独立的查询,我想将返回的四列结果设置为四个整数,它们是该方法的局部变量

我想知道,这是否可以通过JdbcTemplate实现

下面的代码有效吗

List<String> result = this.jdbcTemplate.queryForObject(myQuery, List.class);

Iterator i = result.iterator();

String a = (String) i.next();
String b = (String) i.next();
String c = (String) i.next();
String d = (String) i.next();
你看过报纸了吗

这里有一些很好的例子。看看查询方法和RowMapperclass

下面是一个简单的例子:

//execute query
List<MyEntity> entityList = jdbcTemplate.query(myQuery, new MyRowMapper());

//myEntity is a representation of the rows in the table
    for (MyEntity myEntity : entityList) {
        int a = myEntity.getA();
        int b = ...
        //other getters
    }

class MyEntity {
    private int a;
    private int b;
    private int c;
    private int d;

    public void setA(int a) {
        this.a = a;
    }
    public int getA() {
        return a;
    }

    //other getters & setters
}

class MyRowMapper implements RowMapper<MyEntity> {

    @Override
    public MyEntity mapRow(ResultSet rs, int rowNum) throws SQLException {
        MyEntity myEntity = new MyEntity();
        myEntity.setA(rs.getInt(0));
        myEntity.setB(rs.getInt(1));
        myEntity.setC(rs.getInt(2));
        myEntity.setD(rs.getInt(3));
        return myEntity;
    }
}
可以使用行映射器将行映射到对象。检查样品


要将结果映射到局部变量,请使用queryForListString sql。请参阅示例。您将得到一个对象数组列表,您可以从中提取变量的值。

您能给出一个向下投票的适当理由吗?仅仅因为这是一个简单的问题并不意味着所有人都会知道!!如果是重复的,请提供其他问题的链接。如果不是-那么它是一个有效的查询。为什么不投票?请看我更新的答案。请看我更新的问题!!我不知道rowmapper在这里能帮我什么忙!