Ir para o final dos metadados
Ir para o início dos metadados

You are viewing an old version of this content. View the current version.

Comparar com o atual Restaurar esta versão View Version History

« Anterior Versão 4 Atual »

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.