Programación

1º DAM/DAW - Curso 2023-2024

User Tools

Site Tools


apuntes:dao

This is an old revision of the document!


Aplicación que conecta con Base de datos. Patrón DAO

Patrón DAO

Librería Jdbi 3

Creación de un DAO con Jdbi

public class Database {
 
  public static Jdbi jdbi;
  public static Handle db;
 
  public static void connect() {
    jdbi = Jdbi.create(DATABASE_URL, DATABASE_USERNAME, DATABASE_PASSWORD);
    jdbi.installPlugin(new SqlObjectPlugin());
    db = jdbi.open();
  }
 
  public static void close() {
    db.close();
  }
}
public interface VehicleDAO {
 
   @SqlQuery("SELECT * FROM vehicles")
  @UseRowMapper(VehicleMapper.class)
  List<Vehicle> getVehicles();
 
  @SqlQuery("SELECT * FROM vehicles WHERE brand = ? OR model = ?")
  @UseRowMapper(VehicleMapper.class)
  List<Vehicle> getVehicles(String search);
 
  @SqlQuery("SELECT * FROM vehicles WHERE brand = ? AND model = ?")
  @UseRowMapper(VehicleMapper.class)
  List<Vehicle> getVehicles(String brand, String model);
 
  @SqlQuery("SELECT * FROM vehicles WHERE id = ?")
  @UseRowMapper(VehicleMapper.class)
  Vehicle getVehicle(int id);
 
  @SqlUpdate("INSERT INTO vehicles (license_plate, brand, model, kilometers, image, registration_date) VALUES (?, ?, ?, ?, ?, ?)")
  void addVehicle(String licensePlate, String brand, String model, int kilometers, String image, Date registrationDate);
 
  @SqlUpdate("DELETE FROM vehicles WHERE id = ?")
  void removeVehicle(int id);
 
  @SqlUpdate("UPDATE vehicles SET license_plate = ?, brand = ?, model = ?, kilometers = ?, image = ? WHERE id = ?")
  void editVehicle(String licensePlate, String brand, String model, int kilometers, String image, int id);
 
  @SqlUpdate("UPDATE vehicles SET license_plate = ?, brand = ?, model = ?, kilometers = ? WHERE id = ?")
  void editVehicle(String licensePlate, String brand, String model, int kilometers, int id);
}

© 2023 Santiago Faci

apuntes/dao.1685912907.txt.gz · Last modified: 2023/06/04 21:08 by Santiago Faci