/
v.6.0 - Robô para conexão com banco de dados

v.6.0 - Robô para conexão com banco de dados

1. Visão geral

O propósito desta página é exemplificar a codificação de um robô simples que realiza conexão com o banco de dados. Para tal utilizaremos a biblioteca DBUtils, que é disponibilizada pelo time de Produto e Tecnologia e importada por meio da dependência robot-parent. Para uma compreensão mais abrangente sobre a estrutura de um projeto de robôs, é recomendada a leitura prévia da página Estrutura básica de um robô.

2. Abrindo a conexão com DBUtils

Para estabelecer a conexão com o banco de dados, utilizaremos o método estático getConnection da biblioteca DBUtils. Este método requer um parâmetro do tipo String contendo o nome do banco de dados.

@Component @RobotModule("Radarroboenviaemail") @Version({ 1, 0, 0 }) public class Radarroboconexaobanco { private static final Logger LOGGER = LoggerFactory.getLogger(Radarroboconexaobanco.class); private static final String DB_NAME = "dbTesteRadar"; @Execution public void execute() { try (Connection connection = DBUtils.getConnection(DB_NAME);) { } catch (SQLException e) { LOGGER.error("Erro ao realizar conexão com o banco de dados", e); } }

A abertura de uma conexão em Java pode resultar em uma exceção do tipo SQLException caso ocorra alguma falha. Portanto, capturamos essa exceção e a registramos como um log de erro.

3. Utilizando a conexão

Além da conexão, também precisamos abrir um objeto do tipo PreparedStatement e um objeto do tipo ResultSet para utilizar a conexão estabelecida. De forma estática, declaramos um objeto do tipo String que contém a instrução SQL que desejamos executar no banco de dados.

@Component @RobotModule("Radarroboenviaemail") @Version({ 1, 0, 0 }) public class Radarroboconexaobanco { private static final Logger LOGGER = LoggerFactory.getLogger(Radarroboconexaobanco.class); private static final String DB_NAME = "dbTesteRadar"; private static final String SQL_SELECT_QUERY = "select usuario from tabela"; @Execution public void execute() { try (Connection connection = DBUtils.getConnection(DB_NAME); PreparedStatement preparedStatement = connection.prepareStatement(SQL_SELECT_QUERY); ResultSet resultSet = preparedStatement.executeQuery();) { while (resultSet.next()) { LOGGER.info("Select encontrou o usuário: {}", resultSet.getString("usuario")); } } catch (SQLException e) { LOGGER.error("Erro ao realizar conexão com o banco de dados", e); } } }

4. Conclusão

Demonstramos de forma simples como criar um robô que abre uma conexão com banco de dados e executa uma instrução de select, utilizando uma biblioteca disponibilizada pelo nosso time de Produto e Tecnologia. Embora seja um exemplo básico, essa base possibilita entender o funcionamento da nossa biblioteca de envio de e-mails, permitindo sua implementação em diversas customizações.

O código completo deste exemplo está disponível em http://git.lecom.com.br/vinicius.henrique/RadarRoboConexaoBanco.

Add label