From 81e94aa322520ccd298f53f73c31b9dfadbb18fc Mon Sep 17 00:00:00 2001 From: Charlie Darques <charlie.darques.etu@univ-lille.fr> Date: Sat, 15 Mar 2025 18:53:35 +0100 Subject: [PATCH] =?UTF-8?q?cr=C3=A9ation=20dao=20de=20message?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WEB-INF/src/dao/MessageDAO.java | 60 +++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 WEB-INF/src/dao/MessageDAO.java diff --git a/WEB-INF/src/dao/MessageDAO.java b/WEB-INF/src/dao/MessageDAO.java new file mode 100644 index 0000000..39c7601 --- /dev/null +++ b/WEB-INF/src/dao/MessageDAO.java @@ -0,0 +1,60 @@ +package dao; + +import dto.Message; +import dto.User; + +import java.sql.*; +import java.util.ArrayList; +import java.util.List; + +public class MessageDAO { + private Connection con; + + public MessageDAO(){ + this.con = new BDConnection().getConnection(); + } + + public Message getMessageByID(int id) throws SQLException { + Message message = null; + PreparedStatement stmt = this.con.prepareStatement("SELECT * FROM msg WHERE msgID = ?;"); + try{ + stmt.setInt(1, id); + ResultSet rs = stmt.executeQuery(); + while(rs.next()){ + int msgId = rs.getInt(1); + int userIdMsg = rs.getInt(2); + int threadId = rs.getInt(3); + String msg = rs.getString(4); + + message = new Message(msgId,userIdMsg,threadId,msg); + } + } catch (SQLException sqle) { + sqle.getStackTrace(); + } + + return message; + } + + public boolean isMessageLikedByUser(Message message, User user) throws SQLException { + PreparedStatement ps = this.con.prepareStatement(""" + SELECT reaction FROM reactions + WHERE userID_reactions = ? + AND msgID_reactions = ? + """); + try { + ps.setInt(1, user.getId()); + ps.setInt(2, message.getMsgId()); + ResultSet rs = ps.executeQuery(); + while(rs.next()) { + if (rs.getBoolean("reaction")) { + return true; + } + else return false; + } + } + catch (SQLException sqle) { + sqle.getStackTrace(); + } + return false; + } +} -- GitLab