
com.gitee.qdbp.jdbc.result.FirstColumnMapper Maven / Gradle / Ivy
package com.gitee.qdbp.jdbc.result;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.RowMapper;
import com.gitee.qdbp.tools.utils.JsonTools;
/**
* 获取第1列数据
* 注意, 有可能由于分页SQL的写法, 而导致想要的列并不在第1列
* 最好使用SingleColumnMapper代替, 明确指定列名
* 例如Oracle的分页(这样写第1列是R_N而不是ID):
SELECT * FROM (
SELECT ROWNUM R_N,T_T.* FROM (
SELECT ID FROM tableName
) T_T WHERE ROWNUM <= endRow
) WHERE R_N > beginRow
*
* @author zhaohuihua
* @version 190601
*/
public class FirstColumnMapper implements RowMapper {
private final Class clazz;
public FirstColumnMapper(Class clazz) {
this.clazz = clazz;
}
@Override
public T mapRow(ResultSet rs, int rowNum) throws SQLException {
// DruidPooledResultSet.getObject() SQLFeatureNotSupportedException
// return rs.getObject(1, clazz);
Object object = rs.getObject(1);
return JsonTools.convert(object, clazz);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy