Пример #1
0
  /**
   * buscaPorLogin
   *
   * @param nome String
   * @return ArrayList
   */
  public static ArrayList<Usuario> buscaPorLogin(String login) {
    SigeDataBase db = new SigeDataBase();
    try {
      String query =
          "SELECT cd_usuario as codigo, nome_usuario as nome,"
              + " cd_entidade as entidade, login, decode(senha,'base64')"
              + " as senha, cpf, ativo FROM usuarios WHERE lower(login) LIKE lower(?) ORDER BY nome_usuario";
      db.setPreparedStatement(
          db.getConn()
              .prepareStatement(
                  query, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY));
      db.setString(1, '%' + login + '%');
      ResultSet rs = db.executeQuery();
      if (rs.next()) {
        ArrayList<Usuario> resultado = new ArrayList<Usuario>();
        do {
          Usuario usuario = new Usuario();
          Entidade entidade = (Entidade) EntidadeDAO.buscaPorCodigo(rs.getInt("entidade"));
          if (entidade != null) {
            usuario.setEntidade(entidade);
          } else {
            throw new SQLException("Entidade Não Existe");
          }
          usuario.setCodigo(rs.getInt("codigo"));
          usuario.setNomeCompleto(rs.getString("nome"));
          usuario.setLogin(rs.getString("login"));
          usuario.setSenha(rs.getString("senha"));
          usuario.setCPF(rs.getString("cpf"));
          usuario.setPermissoes(PermissaoDAO.buscaPorUsuario(usuario));
          usuario.setAtivo(rs.getBoolean("ativo"));
          resultado.add(usuario);
        } while (rs.next());
        rs.close();
        db.closeConnection();
        return resultado;
      }
      db.closeConnection();
      return null;

    } catch (SQLException ex) {
      ex.printStackTrace();
      return null;
    }
  }