Example usage for org.springframework.jdbc.core SingleColumnRowMapper SingleColumnRowMapper

List of usage examples for org.springframework.jdbc.core SingleColumnRowMapper SingleColumnRowMapper

Introduction

In this page you can find the example usage for org.springframework.jdbc.core SingleColumnRowMapper SingleColumnRowMapper.

Prototype

public SingleColumnRowMapper(Class<T> requiredType) 

Source Link

Document

Create a new SingleColumnRowMapper .

Usage

From source file:net.paoding.rose.jade.provider.jdbctemplate.PreparedStatementCallbackReturnId.java

@Override
public Object doInPreparedStatement(PreparedStatement ps) throws SQLException, DataAccessException {

    if (setter != null) {
        setter.setValues(ps);/*from   w  w  w .ja v a  2  s.  c o m*/
    }

    ps.executeUpdate();

    ResultSet keys = ps.getGeneratedKeys();
    if (keys != null) {

        try {
            RowMapperResultSetExtractor extractor = new RowMapperResultSetExtractor(
                    new SingleColumnRowMapper(Number.class), 1);
            return DataAccessUtils.requiredSingleResult((List<?>) extractor.extractData(keys));
        } finally {
            JdbcUtils.closeResultSet(keys);
        }
    }

    return null;
}

From source file:com.laxser.blitz.lama.provider.jdbc.PreparedStatementCallbackReturnId.java

public PreparedStatementCallbackReturnId(PreparedStatementSetter setter, Class<?> returnType) {
    this.setter = setter;
    if (returnType.isPrimitive()) {
        returnType = ClassUtils.primitiveToWrapper(returnType);
    }/*from  w  w  w.j a va 2 s  .c o m*/
    this.returnType = returnType;
    Class<?> idType = returnType;
    if (returnType.isArray()) {
        idType = returnType.getComponentType();
    }
    this.idType = idType;
    if (idType.isPrimitive()) {
        idType = ClassUtils.primitiveToWrapper(idType);
    }
    this.wrappedIdType = idType;
    this.mapper = new SingleColumnRowMapper(idType);
    if (wrappedIdType != Integer.class && wrappedIdType != Long.class) {
        throw new IllegalArgumentException(
                "wrong return type(int/long type or its array type only): " + returnType);
    }
}

From source file:com.wantscart.jade.provider.jdbc.PreparedStatementCallbackReturnId.java

public PreparedStatementCallbackReturnId(PreparedStatementSetter setter, Class<?> returnType) {
    this.setter = setter;
    if (returnType.isPrimitive()) {
        returnType = ClassUtils.primitiveToWrapper(returnType);
    }/*from   w ww  .j av  a 2  s . co  m*/
    this.returnType = returnType;
    Class<?> idType = returnType;
    if (returnType.isArray()) {
        idType = returnType.getComponentType();
    }
    this.idType = idType;
    if (idType.isPrimitive()) {
        idType = ClassUtils.primitiveToWrapper(idType);
    }
    this.wrappedIdType = idType;
    this.mapper = new SingleColumnRowMapper(idType);
    if (wrappedIdType != Integer.class && wrappedIdType != Long.class && wrappedIdType != Number.class) {
        throw new IllegalArgumentException(
                "wrong return type(int/long type or its array type only): " + returnType);
    }
}

From source file:com.alibaba.otter.shared.common.utils.meta.DdlUtils.java

/**
 * !!! Only supports MySQL//from   w  w w. j  av a 2  s.  c om
 */
@SuppressWarnings("unchecked")
public static List<String> findSchemas(JdbcTemplate jdbcTemplate, final String schemaPattern) {
    try {
        if (StringUtils.isEmpty(schemaPattern)) {
            return jdbcTemplate.query("show databases", new SingleColumnRowMapper(String.class));
        }
        return jdbcTemplate.query("show databases like ?", new Object[] { schemaPattern },
                new SingleColumnRowMapper(String.class));
    } catch (Exception e) {
        logger.error(e.getMessage(), e);
        return new ArrayList<String>();
    }
}

From source file:cherry.spring.common.foundation.impl.MessageStoreImpl.java

@Override
public List<Long> listMessage(LocalDateTime dtm) {
    QMailQueue a = new QMailQueue("a");
    SQLQuery query = queryDslJdbcOperations.newSqlQuery();
    query.from(a);/*from  www.j av a  2  s  .c om*/
    query.where(a.scheduledAt.goe(dtm));
    query.where(a.deletedFlg.eq(DeletedFlag.NOT_DELETED.code()));
    return queryDslJdbcOperations.query(query, new SingleColumnRowMapper<Long>(Long.class), a.mailId);
}

From source file:com.clican.pluto.dataprocess.engine.processes.JdbcProcessor.java

@SuppressWarnings({ "rawtypes", "unchecked" })
public void process(ProcessorContext context) throws DataProcessException {
    // ????jdbcExecBean
    for (JdbcExecBean jdbcExecBean : jdbcExecBeanList) {
        String sql = jdbcExecBean.getSql().trim();
        // sql???
        if (StringUtils.isEmpty(sql)) {
            log.warn("The sql is null, we ignore it");
            return;
        }//from   ww  w. j ava2 s .  com
        boolean singleRow = jdbcExecBean.isSingleRow();
        Class<?> clazz = jdbcExecBean.getClazz();
        // select,insert,update,delete
        String command = sql.toLowerCase().substring(0, 6);
        // ?
        Object temp = jdbcExecBean.getParam(context);
        Map<String, Object> param;
        if (temp instanceof Map) {
            param = (Map<String, Object>) temp;
        } else if (StringUtils.isNotEmpty(jdbcExecBean.getParamName())) {
            param = Collections.singletonMap(jdbcExecBean.getParamName(), temp);
        } else {
            throw new DataProcessException("?");
        }
        if (command.equals("select")) {
            List<?> list;
            if (clazz == null) {
                list = jdbcTemplate.queryForList(sql, new MapAndNestedPropertySqlParameterSource(param));
            } else {
                if (clazz.isAssignableFrom(Date.class) || clazz.equals(Long.class)
                        || clazz.equals(Integer.class) || clazz.equals(Float.class)
                        || clazz.equals(Double.class) || clazz.equals(String.class)) {
                    list = jdbcTemplate.query(sql, new MapAndNestedPropertySqlParameterSource(param),
                            new SingleColumnRowMapper(clazz) {

                                protected Object getColumnValue(ResultSet rs, int index, Class requiredType)
                                        throws SQLException {
                                    Object obj = super.getColumnValue(rs, index, requiredType);
                                    if (obj instanceof Date) {
                                        return new Date(((Date) obj).getTime());
                                    } else {
                                        return obj;
                                    }
                                }

                                protected Object getColumnValue(ResultSet rs, int index) throws SQLException {
                                    Object obj = super.getColumnValue(rs, index);
                                    if (obj instanceof Date) {
                                        return new Date(((Date) obj).getTime());
                                    } else {
                                        return obj;
                                    }
                                }

                            });
                } else {
                    list = jdbcTemplate.query(sql, new MapAndNestedPropertySqlParameterSource(param),
                            new BeanPropertyRowMapper(clazz));
                }
            }
            if (log.isDebugEnabled()) {
                log.debug("jdbc set attribute[" + jdbcExecBean.getResultName() + "],size=" + list.size());
            }
            if (singleRow) {
                if (list.size() == 0) {
                    context.setAttribute(jdbcExecBean.getResultName(), null);
                } else if (list.size() == 1) {
                    context.setAttribute(jdbcExecBean.getResultName(), list.get(0));
                } else {
                    throw new DataProcessException("???");
                }
            } else {
                context.setAttribute(jdbcExecBean.getResultName(), list);
            }
        } else if (command.equals("insert") || command.equals("update") || command.equals("delete")
                || command.equals("trunca")) {
            if (sql.contains(";")) {
                String updateSql = sql.split(";")[0];
                String insertSql = sql.split(";")[1];
                int row = jdbcTemplate.update(updateSql, param);
                if (row == 0) {
                    row = jdbcTemplate.update(insertSql, param);
                }
            } else {
                if (jdbcExecBean.isBatch() && temp instanceof List) {
                    List tempList = (List) temp;
                    SqlParameterSource[] sources = new SqlParameterSource[tempList.size()];
                    for (int i = 0; i < tempList.size(); i++) {
                        Object obj = tempList.get(i);
                        SqlParameterSource namedParameters;
                        if (obj instanceof Map) {
                            namedParameters = new MapAndNestedPropertySqlParameterSource((Map) obj);
                        } else {
                            namedParameters = new BeanPropertySqlParameterSource(obj);
                        }
                        sources[i] = namedParameters;
                    }
                    new SimpleJdbcTemplate(jdbcTemplate.getJdbcOperations()).batchUpdate(sql, sources);
                } else {
                    SqlParameterSource namedParameters;
                    if (param instanceof Map) {
                        namedParameters = new MapAndNestedPropertySqlParameterSource((Map) param);
                    } else {
                        namedParameters = new BeanPropertySqlParameterSource(param);
                    }
                    int row = jdbcTemplate.update(sql, namedParameters);
                    if (log.isDebugEnabled()) {
                        log.debug(command + "=" + row + " row");
                    }
                }
            }
        } else {
            throw new DataProcessException("sql");
        }
    }
}

From source file:com.wantscart.jade.core.RowMapperFactoryImpl.java

@Override
public RowMapper getRowMapper(Modifier modifier) {
    RowHandler rowHandler = modifier.getAnnotation(RowHandler.class);
    if (rowHandler != null) {
        if (rowHandler.rowMapper() != RowHandler.ByDefault.class) {
            try {
                RowMapper rowMapper = rowHandler.rowMapper().newInstance();
                if (logger.isInfoEnabled()) {
                    logger.info("using rowMapper " + rowMapper + " for " + modifier);
                }/*w  ww.  jav  a  2 s . c  om*/

                return rowMapper;
            } catch (Exception ex) {
                throw new BeanInstantiationException(rowHandler.rowMapper(), ex.getMessage(), ex);
            }
        }
    }
    //

    Class<?> returnClassType = modifier.getReturnType();
    Class<?> rowType = getRowType(modifier);

    // BUGFIX: SingleColumnRowMapper ?  Primitive Type 
    if (rowType.isPrimitive()) {
        rowType = ClassUtils.primitiveToWrapper(rowType);
    }

    // ?  RowMapper
    RowMapper rowMapper;

    // ?(?2Map)
    if (TypeUtils.isColumnType(rowType)) {
        if (returnClassType == Map.class) {
            rowMapper = new MapEntryColumnRowMapper(modifier, rowType);
        } else {
            rowMapper = new SingleColumnRowMapper(rowType);
        }
    }
    // Bean??????
    else {
        if (rowType == Map.class) {
            rowMapper = new ColumnMapRowMapper();
        } else if (rowType.isArray()) {
            rowMapper = new ArrayRowMapper(rowType);
        } else if ((rowType == List.class) || (rowType == Collection.class)) {
            rowMapper = new ListRowMapper(modifier);
        } else if (rowType == Set.class) {
            rowMapper = new SetRowMapper(modifier);
        } else {
            boolean checkColumns = (rowHandler == null) ? false : rowHandler.checkColumns();
            boolean checkProperties = (rowHandler == null) ? false : rowHandler.checkProperties();
            String key = rowType.getName() + "[checkColumns=" + checkColumns + "&checkProperties="
                    + checkProperties + "]";
            rowMapper = rowMappers.get(key);
            if (rowMapper == null) {
                rowMapper = new BeanPropertyRowMapper(rowType, checkColumns, checkProperties); // jade's BeanPropertyRowMapper here
                rowMappers.put(key, rowMapper);
            }
        }
        // DAOMaprowMapper?Map.Entry
        if (returnClassType == Map.class) {
            rowMapper = new MapEntryRowMapper(modifier, rowMapper);
        }
    }

    if (logger.isInfoEnabled()) {
        logger.info("using rowMapper " + rowMapper + " for " + modifier);
    }

    return rowMapper;
}

From source file:net.paoding.rose.jade.rowmapper.DefaultRowMapperFactory.java

@Override
public RowMapper getRowMapper(StatementMetaData modifier) {
    RowHandler rowHandler = modifier.getAnnotation(RowHandler.class);
    if (rowHandler != null) {
        if (rowHandler.rowMapper() != RowHandler.ByDefault.class) {
            try {
                RowMapper rowMapper = rowHandler.rowMapper().newInstance();
                if (logger.isInfoEnabled()) {
                    logger.info("using rowMapper " + rowMapper + " for " + modifier);
                }//from w  ww .j  a v  a 2  s  .  c om

                return rowMapper;
            } catch (Exception ex) {
                throw new BeanInstantiationException(rowHandler.rowMapper(), ex.getMessage(), ex);
            }
        }
    }
    //

    Class<?> returnClassType = modifier.getMethod().getReturnType();
    Class<?> rowType = getRowType(modifier);

    // BUGFIX: SingleColumnRowMapper ?  Primitive Type 
    if (rowType.isPrimitive()) {
        rowType = ClassUtils.primitiveToWrapper(rowType);
    }

    // ?  RowMapper
    RowMapper rowMapper;

    // ?(?2Map)
    if (TypeUtils.isColumnType(rowType)) {
        if (returnClassType == Map.class) {
            rowMapper = new MapEntryColumnRowMapper(modifier, rowType);
        } else {
            rowMapper = new SingleColumnRowMapper(rowType);
        }
    }
    // Bean??????
    else {
        if (rowType == Map.class) {
            rowMapper = new ColumnMapRowMapper();
        } else if (rowType.isArray()) {
            rowMapper = new ArrayRowMapper(rowType);
        } else if ((rowType == List.class) || (rowType == Collection.class)) {
            rowMapper = new ListRowMapper(modifier);
        } else if (rowType == Set.class) {
            rowMapper = new SetRowMapper(modifier);
        } else {
            boolean checkColumns = (rowHandler == null) ? true : rowHandler.checkColumns();
            boolean checkProperties = (rowHandler == null) ? false : rowHandler.checkProperties();
            String key = rowType.getName() + "[checkColumns=" + checkColumns + "&checkProperties="
                    + checkProperties + "]";
            rowMapper = rowMappers.get(key);
            if (rowMapper == null) {
                rowMapper = new BeanPropertyRowMapper(rowType, checkColumns, checkProperties); // jade's BeanPropertyRowMapper here
                rowMappers.put(key, rowMapper);
            }
        }
        // DAOMaprowMapper?Map.Entry
        if (returnClassType == Map.class) {
            rowMapper = new MapEntryRowMapper(modifier, rowMapper);
        }
    }

    if (logger.isInfoEnabled()) {
        logger.info("using rowMapper " + rowMapper + " for " + modifier);
    }

    return rowMapper;
}

From source file:com.sinosoft.one.data.jade.rowmapper.DefaultRowMapperFactory.java

public RowMapper getRowMapper(StatementMetaData modifier) {
    RowHandler rowHandler = modifier.getAnnotation(RowHandler.class);
    if (rowHandler != null) {
        if (rowHandler.rowMapper() != RowHandler.ByDefault.class) {
            try {
                RowMapper rowMapper = rowHandler.rowMapper().newInstance();
                if (logger.isInfoEnabled()) {
                    logger.info("using rowMapper " + rowMapper + " for " + modifier);
                }//from   www .j  ava2s. c o  m

                return rowMapper;
            } catch (Exception ex) {
                throw new BeanInstantiationException(rowHandler.rowMapper(), ex.getMessage(), ex);
            }
        }
    }
    //

    Class<?> returnClassType = modifier.getMethod().getReturnType();
    Class<?> rowType = getRowType(modifier);

    // BUGFIX: SingleColumnRowMapper ?  Primitive Type 
    if (rowType.isPrimitive()) {
        rowType = ClassUtils.primitiveToWrapper(rowType);
    }

    // ?  RowMapper
    RowMapper rowMapper;

    // ?(?2Map)
    if (TypeUtils.isColumnType(rowType)) {
        if (returnClassType == Map.class) {
            rowMapper = new MapEntryColumnRowMapper(modifier, rowType);
        } else {
            rowMapper = new SingleColumnRowMapper(rowType);
        }
    }
    // Bean??????
    else {
        if (rowType == Map.class) {
            rowMapper = new ColumnMapRowMapper();
        } else if (rowType.isArray()) {
            rowMapper = new ArrayRowMapper(rowType);
        } else if ((rowType == List.class) || (rowType == Collection.class)) {
            rowMapper = new ListRowMapper(modifier);
        } else if (rowType == Set.class) {
            rowMapper = new SetRowMapper(modifier);
        } else {
            boolean checkColumns = (rowHandler == null) ? false : rowHandler.checkColumns();
            boolean checkProperties = (rowHandler == null) ? false : rowHandler.checkProperties();
            String key = rowType.getName() + "[checkColumns=" + checkColumns + "&checkProperties="
                    + checkProperties + "]";
            rowMapper = rowMappers.get(key);
            if (rowMapper == null) {
                rowMapper = new BeanPropertyRowMapper(rowType, checkColumns, checkProperties); // jade's BeanPropertyRowMapper here
                rowMappers.put(key, rowMapper);
            }
        }
        // DAOMaprowMapper?Map.Entry
        if (returnClassType == Map.class) {
            rowMapper = new MapEntryRowMapper(modifier, rowMapper);
        }
    }

    if (logger.isInfoEnabled()) {
        logger.info("using rowMapper " + rowMapper + " for " + modifier);
    }

    return rowMapper;
}