Example usage for org.springframework.jdbc.core JdbcTemplate query

List of usage examples for org.springframework.jdbc.core JdbcTemplate query

Introduction

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

Prototype

@Override
    public <T> List<T> query(String sql, RowMapper<T> rowMapper, @Nullable Object... args)
            throws DataAccessException 

Source Link

Usage

From source file:org.projectforge.business.login.LoginDefaultHandler.java

/**
 * @param user/*from  w w  w.  j  ava2 s . c o  m*/
 * @param rs
 * @param username
 * @param withSaltString false before ProjectForge version 5.3.
 * @throws SQLException
 */
@SuppressWarnings({ "unchecked", "rawtypes" })
private PFUserDO loadUser(final JdbcTemplate jdbc, final String sql, final String username,
        final boolean withSaltString) throws SQLException {
    final PFUserDO user = (PFUserDO) jdbc.query(sql, new Object[] { username }, new ResultSetExtractor() {
        @Override
        public Object extractData(final ResultSet rs) throws SQLException, DataAccessException {
            if (rs.next() == true) {
                final PFUserDO user = new PFUserDO();
                user.setUsername(username);
                final String password = rs.getString("password");
                final int pk = rs.getInt("pk");
                final String firstname = rs.getString("firstname");
                final String lastname = rs.getString("lastname");
                if (withSaltString == true) {
                    final String saltString = rs.getString("password_salt");
                    user.setPasswordSalt(saltString);
                }
                user.setId(pk);
                user.setUsername(username).setFirstname(firstname).setLastname(lastname).setPassword(password);
                return user;
            }
            return null;
        }
    });
    return user;
}

From source file:org.projectforge.user.LoginDefaultHandler.java

/**
 * @see org.projectforge.user.LoginHandler#checkLogin(java.lang.String, java.lang.String, boolean)
 *///from   ww w.ja  va  2 s.c  o m
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public LoginResult checkLogin(final String username, final String password) {
    final LoginResult loginResult = new LoginResult();
    final String encryptedPassword = userDao.encryptPassword(password);
    PFUserDO user = null;
    if (UserFilter.isUpdateRequiredFirst() == true) {
        // Only administrator login is allowed. The login is checked without Hibernate because the data-base schema may be out-dated thus
        // Hibernate isn't functioning.
        final JdbcTemplate jdbc = new JdbcTemplate(dataSource);
        try {
            final PFUserDO resUser = new PFUserDO();
            final String sql = "select pk, firstname, lastname from t_pf_user where username=? and password=? and deleted=false";
            jdbc.query(sql, new Object[] { username, encryptedPassword }, new ResultSetExtractor() {
                @Override
                public Object extractData(final ResultSet rs) throws SQLException, DataAccessException {
                    if (rs.next() == true) {
                        final int pk = rs.getInt("pk");
                        final String firstname = rs.getString("firstname");
                        final String lastname = rs.getString("lastname");
                        resUser.setId(pk);
                        resUser.setUsername(username).setFirstname(firstname).setLastname(lastname);
                    }
                    return null;
                }
            });
            if (resUser.getUsername() == null) {
                log.info("Admin login for maintenance (data-base update) failed for user '" + username
                        + "' (user/password not found).");
                return loginResult.setLoginResultStatus(LoginResultStatus.FAILED);
            }
            if (isAdminUser(resUser) == false) {
                return loginResult.setLoginResultStatus(LoginResultStatus.ADMIN_LOGIN_REQUIRED);
            }
            return loginResult.setLoginResultStatus(LoginResultStatus.SUCCESS).setUser(resUser);
        } catch (final Exception ex) {
            log.error(ex.getMessage(), ex);
        }
    } else {
        user = userDao.authenticateUser(username, encryptedPassword);
    }
    if (user != null) {
        log.info("User with valid username/password: " + username + "/" + encryptedPassword);
        if (user.hasSystemAccess() == false) {
            log.info("User has no system access (is deleted/deactivated): " + user.getDisplayUsername());
            return loginResult.setLoginResultStatus(LoginResultStatus.LOGIN_EXPIRED);
        } else {
            return loginResult.setLoginResultStatus(LoginResultStatus.SUCCESS).setUser(user);
        }
    } else {
        log.info("User login failed: " + username + "/" + encryptedPassword);
        return loginResult.setLoginResultStatus(LoginResultStatus.FAILED);
    }
}

From source file:org.springframework.jdbc.core.JdbcTemplateTests.java

public void testStringsWithEmptyPreparedStatementSetter() throws Exception {
    doTestStrings(new JdbcTemplateCallback() {
        public void doInJdbcTemplate(JdbcTemplate template, String sql, RowCallbackHandler rch) {
            template.query(sql, (PreparedStatementSetter) null, rch);
        }//from w w  w.j av a2s  .c  o  m
    }, true, null, null, null, null);
}

From source file:org.springframework.jdbc.core.JdbcTemplateTests.java

public void testStringsWithPreparedStatementSetter() throws Exception {
    final Integer argument = new Integer(99);
    doTestStrings(new JdbcTemplateCallback() {
        public void doInJdbcTemplate(JdbcTemplate template, String sql, RowCallbackHandler rch) {
            template.query(sql, new PreparedStatementSetter() {
                public void setValues(PreparedStatement ps) throws SQLException {
                    ps.setObject(1, argument);
                }//from   w w  w  . j  a  va 2s  .  co m
            }, rch);
        }
    }, true, null, null, null, argument);
}

From source file:org.springframework.jdbc.core.JdbcTemplateTests.java

public void testStringsWithEmptyPreparedStatementArgs() throws Exception {
    doTestStrings(new JdbcTemplateCallback() {
        public void doInJdbcTemplate(JdbcTemplate template, String sql, RowCallbackHandler rch) {
            template.query(sql, (Object[]) null, rch);
        }//from w w  w  .j a  v a2  s.  co  m
    }, true, null, null, null, null);
}

From source file:org.springframework.jdbc.core.JdbcTemplateTests.java

public void testStringsWithPreparedStatementArgs() throws Exception {
    final Integer argument = new Integer(99);
    doTestStrings(new JdbcTemplateCallback() {
        public void doInJdbcTemplate(JdbcTemplate template, String sql, RowCallbackHandler rch) {
            template.query(sql, new Object[] { argument }, rch);
        }//from  ww  w  . j av a2 s  .  com
    }, true, null, null, null, argument);
}

From source file:uk.ac.ebi.atlas.search.diffanalytics.DiffAnalyticsDao.java

public void visitEachExpression(Optional<? extends Collection<IndexedAssayGroup>> indexedContrasts,
        Optional<? extends Collection<String>> geneIds, final Visitor<DiffAnalytics> visitor, String specie) {
    Optional<ImmutableSet<IndexedAssayGroup>> uniqueIndexedContrasts = uniqueIndexedContrasts(indexedContrasts);

    log("visitEachExpression", uniqueIndexedContrasts, geneIds);

    Stopwatch stopwatch = Stopwatch.createStarted();

    String species = "";
    if (StringUtils.isNotBlank(specie)) {
        species = specie;//from   ww  w .  j  a v  a2 s. c o m
    }

    DatabaseQuery<Object> indexedContrastQuery = buildSelect(uniqueIndexedContrasts, geneIds, species);

    final MutableInt count = new MutableInt(0);

    JdbcTemplate template = new JdbcTemplate(dataSource);

    template.setFetchSize(5000);

    try {
        template.query(indexedContrastQuery.getQuery(), new RowCallbackHandler() {

            @Override
            public void processRow(ResultSet resultSet) throws SQLException {
                count.increment();

                DiffAnalytics dbe = dbeRowMapper.mapRow(resultSet, count.intValue());

                try {
                    visitor.visit(dbe);
                } catch (VisitorException e) {
                    // throw SQLException so result set is closed
                    throw new SQLException(e);
                }
            }

        }, indexedContrastQuery.getParameters().toArray());
    } catch (DataAccessException e) {

        if (e.getCause() != null && e.getCause().getCause() != null
                && e.getCause().getCause() instanceof VisitorException) {
            throw (VisitorException) (e.getCause().getCause());
        } else {
            throw e;
        }
    }

    stopwatch.stop();
    LOGGER.debug(String.format("visitEachExpression processed %s expressions in %s seconds", count.intValue(),
            stopwatch.elapsed(TimeUnit.SECONDS)));
}