package com.trifulcas.DAO;
public class Actor {
private int actor_id;
private String first_name;
private String last_name;
public Actor(int actor_id, String first_name, String last_name) {
super();
this.actor_id = actor_id;
this.first_name = first_name;
this.last_name = last_name;
}
public int getActor_id() {
return actor_id;
}
public void setActor_id(int actor_id) {
this.actor_id = actor_id;
}
public String getFirst_name() {
return first_name;
}
public void setFirst_name(String first_name) {
this.first_name = first_name;
}
public String getLast_name() {
return last_name;
}
public void setLast_name(String last_name) {
this.last_name = last_name;
}
@Override
public String toString() {
return "Actor [actor_id=" + actor_id + ", first_name=" + first_name + ", last_name=" + last_name + "]";
}
}
package com.trifulcas.DAO;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class ActorDAO {
private Connection con;
private PreparedStatement st;
private ResultSet rs;
public ActorDAO() {
try {
// Nos conectamos en el constructor, la variable con estará disponible
// para todas las funciones de la clase DAO
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sakila", "root", "");
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
public void close() {
try {
con.close();
st.close();
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public Actor getActor(int id) {
try {
// Lo hago igual que hasta ahora, SQL, STATEMENT, RESULTSET
String sql = "select * from actor where actor_id=?";
st = con.prepareStatement(sql);
st.setInt(1, id);
rs = st.executeQuery();
// Si hay resultado construyo un país con los datos que me devuelve la consulta
if (rs.next()) {
return new Actor(rs.getInt("actor_id"), rs.getString("first_name"), rs.getString("last_name"));
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return null;
}
public List<Actor> getActors(String texto){
try {
List<Actor> actores = new ArrayList<>();
// Lo hago igual que hasta ahora, SQL, STATEMENT, RESULTSET
String sql = "select * from actor where first_name like ? or last_name like ?";
st = con.prepareStatement(sql);
st.setString(1, "%" + texto + "%");
st.setString(2, "%" + texto + "%");
rs = st.executeQuery();
// Si hay resultado construyo un país con los datos que me devuelve la consulta
while (rs.next()) {
actores.add(new Actor(rs.getInt("actor_id"), rs.getString("first_name"), rs.getString("last_name")));
}
return actores;
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return null;
}
public List<Actor> getActors(){
try {
return getActors("");
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return null;
}
public int addActor(String first, String last) {
try {
// Creo el sql
String sql = "insert into actor(first_name, last_name) values (?,?)";
st = con.prepareStatement(sql);
// Añado el parámetro
st.setString(1, first);
st.setString(2, last);
// Ejecuto
return st.executeUpdate();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return 0;
}
public int addActor(Actor actor) {
try {
// Ejecuto
return addActor(actor.getFirst_name(),actor.getLast_name());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return 0;
}
public int updateActor(Actor actor) {
try {
String sql = "update actor set first_name=?,last_name=? where actor_id=?";
st = con.prepareStatement(sql);
// Añado el parámetro
st.setString(1, actor.getFirst_name());
st.setString(2, actor.getLast_name());
st.setInt(3, actor.getActor_id());
// Ejeceuto
return st.executeUpdate();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return 0;
}
public int deleteActor(int id) {
try {
String sql = "delete from actor where actor_id=?";
st = con.prepareStatement(sql);
// Añado el parámetro
st.setInt(1, id);
// Ejecuto
return st.executeUpdate();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return 0;
}
}
package com.trifulcas.DAO;
public class TestActorDao {
public static void main(String[] args) {
ActorDAO actorDAO = new ActorDAO();
System.out.println(actorDAO.getActor(1));
System.out.println(actorDAO.getActors());
actorDAO.addActor("aa", "bb");
Actor actor=new Actor(0,"aa","bb");
actorDAO.addActor(actor);
Actor penelope=actorDAO.getActor(1);
penelope.setFirst_name("Paquita");
penelope.setLast_name("Salas");
actorDAO.updateActor(penelope);
System.out.println(actorDAO.getActor(1));
actorDAO.deleteActor(56982);
}
}