List of usage examples for org.springframework.jdbc.core SingleColumnRowMapper SingleColumnRowMapper
public SingleColumnRowMapper(Class<T> requiredType)
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; }