"demo/patches/patch1.pd" did not exist on "b65e5dd08eedced49d45ff1ffb1f36b66607eb6e"
Select Git revision
Affichage.java
-
Paul RIPAULT authoredPaul RIPAULT authored
ThreadDAO.java 4.58 KiB
package dao;
import dto.Message;
import dto.User;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class ThreadDAO {
private Connection con;
public ThreadDAO(){
this.con = new BDConnection().getConnection();
}
public List<Message> getAllMessages(){
ArrayList<Message> messages = new ArrayList<>();
try{
Statement stmt = this.con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM msg;");
while(rs.next()){
int msgId = rs.getInt(1);
int userIdMsg = rs.getInt(2);
int threadId = rs.getInt(3);
String msg = rs.getString(4);
messages.add(new Message(msgId,userIdMsg,threadId,msg));
}
} catch (SQLException sqle) {
sqle.getStackTrace();
}
return messages;
}
public Thread getThreadById(int threadID) throws SQLException {
Thread thread = new Thread();
PreparedStatement ps = this.con.prepareStatement("SELECT threadID, threadName FROM thread WHERE threadID = ?");
try {
ps.setInt(1, threadID);
ResultSet rs = ps.executeQuery();
if(rs.next()){
thread.setThreadID(rs.getInt(1));
thread.setName(rs.getString(2));
}
}
catch (SQLException sqle) {
sqle.getStackTrace();
}
return thread;
}
public List<Message> getAllMessagesFromThread(int threadId){
ArrayList<Message> messages = new ArrayList<>();
try{
PreparedStatement ps = this.con.prepareStatement("SELECT msg FROM msg WHERE thread_id=?;");
ps.setInt(1, threadId);
ResultSet rs = ps.executeQuery();
while(rs.next()){
int msgId = rs.getInt(1);
int userIdMsg = rs.getInt(2);
String msg = rs.getString(3);
messages.add(new Message(msgId,userIdMsg,threadId,msg));
}
} catch (SQLException sqle) {
sqle.getStackTrace();
}
return messages;
}
public List<User> getFollowersOfThread(int threadId) throws SQLException{
ArrayList<User> followers = new ArrayList<>();
try {
PreparedStatement ps = this.con.prepareStatement("""
SELECT u.userID, u.username, u.password FROM userAccount AS u
INNER JOIN follow AS f ON f.userID=u.userID
WHERE f.threadID_follow = ?
""");
ps.setInt(1, threadId);
ResultSet rs = ps.executeQuery();
while(rs.next()){
int userId = rs.getInt(1);
String username = rs.getString(2);
String password = rs.getString(3);
followers.add(new User(userId, username, password));
}
} catch (SQLException sqle) {
sqle.getStackTrace();
}
return followers;
}
// Créer un thread
public void createThread(User user, String threadName) throws SQLException {
PreparedStatement ps = this.con.prepareStatement("INSERT INTO thread (userID_thread, threadName) VALUES(?, ?)");
try {
ps.setString(1, ""+user.getId());
ps.setString(2, threadName);
}
catch (SQLException sqle) {
sqle.getStackTrace();
}
}
//
// public String getUserById(int id){
// StringBuilder txt = new StringBuilder();
// try{
// PreparedStatement stmt = this.con.prepareStatement("SELECT * FROM userAccount WHERE id=?");
// stmt.setInt(1, id);
// ResultSet rs = stmt.executeQuery();
//
// if(rs.next()){
// int userId = rs.getInt(1);
// String username = rs.getString(2);
// String pwd = rs.getString(3);
//
// txt.append("Id : ").append(userId).append(" Username : ").append(username).append(" Password : ").append(pwd).append('\n');
// }
// } catch (SQLException sqle) {
// sqle.getStackTrace();
// }
//
// return txt.toString();
// }
//
// public void addUser(User nUser){
// try{
// PreparedStatement stmt = this.con.prepareStatement("INSERT INTO userAccount VALUES (?,?,?)");
// stmt.setInt(1, nUser.getID());
// stmt.setString(2, nUser.getUserName());
// stmt.setString(3, nUser.getPwd());
//
// stmt.executeUpdate();
//
// } catch (SQLException sqle) {
// sqle.getStackTrace();
// }
// }
}