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.
...
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.
Bloco de código | ||
---|---|---|
| ||
@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.
...