Apache Commons DBUtils - Primeiro Aplicativo
Este capítulo fornece um exemplo de como criar um aplicativo JDBC simples usando a biblioteca DBUtils. Isso mostrará como abrir uma conexão de banco de dados, executar uma consulta SQL e exibir os resultados.
Todas as etapas mencionadas neste exemplo de modelo seriam explicadas nos capítulos subsequentes deste tutorial.
Criação de aplicativo JDBC
Existem seis etapas a seguir envolvidas na construção de um aplicativo JDBC -
Import the packages- Requer que você inclua os pacotes contendo as classes JDBC que são necessárias para a programação do banco de dados. Na maioria das vezes, usandoimport java.sql.* será suficiente.
Register the JDBC driver - Requer que você inicialize um driver, para que possa abrir um canal de comunicação com o banco de dados.
Open a connection - Requer o uso do DriverManager.getConnection() método para criar um objeto Connection, que representa uma conexão física com o banco de dados.
Execute a query - Requer o uso de um objeto do tipo Instrução para construir e enviar uma instrução SQL para o banco de dados.
Extract data from result set - Requer que você use o apropriado ResultSet.getXXX() método para recuperar os dados do conjunto de resultados.
Clean up the environment - Requer o fechamento explícito de todos os recursos do banco de dados em vez de depender da coleta de lixo da JVM.
Código de amostra
Este exemplo de amostra pode servir como um modelo, quando você precisar criar seu próprio aplicativo JDBC no futuro.
Este código de amostra foi escrito com base na configuração do ambiente e do banco de dados feita no capítulo anterior.
Copie e cole o seguinte exemplo em MainApp.java, compile e execute da seguinte forma -
MainApp.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;
public class MainApp {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/emp";
// Database credentials
static final String USER = "root";
static final String PASS = "admin";
public static void main(String[] args) throws SQLException {
Connection conn = null;
QueryRunner queryRunner = new QueryRunner();
//Step 1: Register JDBC driver
DbUtils.loadDriver(JDBC_DRIVER);
//Step 2: Open a connection
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
//Step 3: Create a ResultSet Handler to handle Employee Beans
ResultSetHandler<Employee> resultHandler = new BeanHandler<Employee>(Employee.class);
try {
Employee emp = queryRunner.query(conn,
"SELECT * FROM employees WHERE first=?", resultHandler, "Sumit");
//Display values
System.out.print("ID: " + emp.getId());
System.out.print(", Age: " + emp.getAge());
System.out.print(", First: " + emp.getFirst());
System.out.println(", Last: " + emp.getLast());
} finally {
DbUtils.close(conn);
}
}
}
Employee.java
O programa é fornecido abaixo -
public class Employee {
private int id;
private int age;
private String first;
private String last;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getFirst() {
return first;
}
public void setFirst(String first) {
this.first = first;
}
public String getLast() {
return last;
}
public void setLast(String last) {
this.last = last;
}
}
Agora vamos compilar o exemplo acima da seguinte maneira -
C:\>javac MainApp.java Employee.java
C:\>
Quando você corre MainApp, ele produz o seguinte resultado -
C:\>java MainApp
Connecting to database...
ID: 103, Age: 28, First: Sumit, Last: Mittal
C:\>