Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.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/4/matlab/15.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 JDBI ResultSetMapper:将行部分映射到类_Java_Jdbc_Resultset_Jdbi_Sqlresultsetmapping - Fatal编程技术网

Java JDBI ResultSetMapper:将行部分映射到类

Java JDBI ResultSetMapper:将行部分映射到类,java,jdbc,resultset,jdbi,sqlresultsetmapping,Java,Jdbc,Resultset,Jdbi,Sqlresultsetmapping,当我们为类定义映射器时,我们必须获取sql查询中的每一列,以便与jdbc ResultsUpper中的类进行映射 例如 公共类映射器实现ResultsMapper{ 公共MyClass映射(int索引、ResultSet rs、StatementContext ctx)引发SQLException{ MyClass mc=新的MyClass(); mc.setEntity1(rs.getString(“column1”); mc.setEntity2(rs.getString(“column2”

当我们为类定义映射器时,我们必须获取sql查询中的每一列,以便与jdbc ResultsUpper中的类进行映射

例如

公共类映射器实现ResultsMapper{
公共MyClass映射(int索引、ResultSet rs、StatementContext ctx)引发SQLException{
MyClass mc=新的MyClass();
mc.setEntity1(rs.getString(“column1”);
mc.setEntity2(rs.getString(“column2”);
mc.setEntity3(rs.getString(“column3”);
返回mc;
}
}
为了使用这个映射器,我必须获取映射器中使用的每一列,但是如果我只获取2列,它将抛出PSQLException


因此,除了定义另一个映射器来获取2列之外,还有什么方法可以使用同一个映射器来映射到MyClass吗?

您是否尝试过使用
RowMapper
?发布异常的堆栈跟踪。@pingw33n它说“column3”在中找不到resultset@FlorescentTicker我不认为RowMapper可以工作,因为它还使用ResultSet映射到columnsSee。
public class Mapper implements ResultSetMapper<MyClass>{
    public MyClass map(int index, ResultSet rs, StatementContext ctx) throws SQLException{
        MyClass mc = new MyClass();
        mc.setEntity1(rs.getString("column1"));
        mc.setEntity2(rs.getString("column2"));
        mc.setEntity3(rs.getString("column3"));
        return mc;
    }
}