Ejemplo JDBC java
JDBC en java
Este es un churro resumen de las cuatro cosas básicas que se hacen con el JDBC, en concreto:
-Las operaciones CRUD (en jdbc el select de una forma el resto de otra)
-El tema de las PreparedStatement, que es la forma correcta de hacer las cosas.
-El tema de sacar el último campo clave generado. En el caso de autonuméricos nos interesa saberlo en muchas ocasiones y la cosa tiene su aquel en java.
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
/**
* churro con las cosas básicas de JDBC
* @author pello_altadill
*
*/
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost/erp","root","");
Statement stat = conn.createStatement();
ResultSet resultset = stat.executeQuery("select * from customer;");
while (resultset.next()) {
System.out.println("id = " + resultset.getString("id"));
System.out.println("name = " + resultset.getString("name"));
}
// INSERT
String insertQuery =
"insert into customer (name,address) values('Sauron','Mordor')";
int result = stat.executeUpdate(insertQuery);
// INSERT RECUPERANDO LA ÚLTIMA CLAVE
insertQuery = "insert into customer (name,address) values('Melkor','Angband')";
result = stat.executeUpdate(insertQuery,Statement.RETURN_GENERATED_KEYS);
// Sacamos la clave
ResultSet rs = stat.getGeneratedKeys();
if (rs.next()){
result=rs.getInt(1);
}
// DELETE
int id = 4;
String deleteQuery = "delete from customer where id=" + id;
result = stat.executeUpdate(deleteQuery);
// UPDATE
String who = "Saruman";
String updateQuery =
"update customer set address='The Shire' where name='"+who+"'";
result = stat.executeUpdate(updateQuery);
// PREPARED STATEMENT
String insertSQL =
"insert into customer (name,address) values (?, ?)";
PreparedStatement prep = conn.prepareStatement(insertSQL);
prep.setString(1, "Eomer");
prep.setString(2, "Rohan");
prep.addBatch();
prep.setString(1, "Sam");
prep.setString(2, "The Shire");
prep.addBatch();
prep.executeBatch();
resultset.close();
conn.close();
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
}
}
}