org.biblionum.commentaire.modele.CommentaireOuvragesModele.java Source code

Java tutorial

Introduction

Here is the source code for org.biblionum.commentaire.modele.CommentaireOuvragesModele.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package org.biblionum.commentaire.modele;
/* Neccessary imports for the generated code */

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.sql.DataSource;
import org.apache.commons.dbutils.BeanProcessor;
import org.biblionum.authentification.Utilisateur;
import org.biblionum.authentification.modele.UtilisateurModele;
import org.biblionum.ouvrage.modele.Ouvrage;

/**
 *
 * @author Stan
 */
public class CommentaireOuvragesModele {

    /**
     * Java method that creates the generated table
     *
     * @param con (open java.sql.Connection)
     * @throws SQLException
     */
    public static boolean createTableOuvragetype(DataSource ds) throws SQLException {
        Connection con = ds.getConnection();
        Statement statement = con.createStatement();
        String sql = "CREATE TABLE ouvragetype(id int AUTO_INCREMENT, " + "`contenu_commentaire` VARCHAR(255), "
                + "`date_commentaire` VARCHAR(255), " + "`utilisateurid` INT, " + "`ouvrageid` INT,)";
        statement.execute(sql);
        statement.close();
        con.close();
        return true;
    }

    public static int insertIntoOuvragetype(DataSource ds, String contenu_commentaire, int utilisateurid,
            int ouvrageid) throws SQLException {
        Connection con = ds.getConnection();
        int generatedId = -1;
        String sql = "INSERT INTO ouvragetype (contenu_commentaire, utilisateurid, ouvrageid)" + "VALUES (?, ?, ?)";
        PreparedStatement statement = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
        statement.setString(1, contenu_commentaire);

        statement.setInt(2, utilisateurid);
        statement.setInt(3, ouvrageid);
        statement.execute();
        ResultSet auto = statement.getGeneratedKeys();

        if (auto.next()) {
            generatedId = auto.getInt(1);
        } else {
            generatedId = -1;
        }

        statement.close();
        con.close();
        return generatedId;
    }

    public static boolean updateOuvragetype(DataSource ds, int keyId, String contenu_commentaire,
            String date_commentaire, int utilisateurid, int ouvrageid) throws SQLException {

        Connection con = ds.getConnection();
        String sql = "SELECT * FROM ouvragetype WHERE id = ?";
        PreparedStatement statement = con.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,
                ResultSet.CONCUR_UPDATABLE);
        statement.setInt(1, keyId);
        ResultSet entry = statement.executeQuery();

        entry.last();
        int rows = entry.getRow();
        entry.beforeFirst();
        if (rows == 0) {
            entry.close();
            statement.close();
            con.close();
            return false;
        }
        entry.next();

        if (contenu_commentaire != null) {
            entry.updateString("contenu_commentaire", contenu_commentaire);
        }
        if (date_commentaire != null) {
            entry.updateString("date_commentaire", date_commentaire);
        }
        entry.updateInt("utilisateurid", utilisateurid);
        entry.updateInt("ouvrageid", ouvrageid);

        entry.updateRow();
        entry.close();
        statement.close();
        con.close();
        return true;
    }

    /**
     * Java method that deletes a row from the generated sql table
     *
     * @param con (open java.sql.Connection)
     * @param keyId (the primary key to the row)
     * @throws SQLException
     */
    public static void deleteFromOuvragetype(DataSource ds, int keyId) throws SQLException {
        Connection con = ds.getConnection();
        String sql = "DELETE FROM ouvragetype WHERE id = ?";
        PreparedStatement statement = con.prepareStatement(sql);
        statement.setInt(1, keyId);
        statement.executeUpdate();
        statement.close();
        con.close();
    }

    public static ArrayList<CommentaireOuvrages> getCommentaires(DataSource ds, int ouv_id) {

        ArrayList<CommentaireOuvrages> list = new ArrayList<CommentaireOuvrages>();
        Connection con = null;
        PreparedStatement stm;
        ResultSet rs;
        try {
            con = ds.getConnection();
            stm = con.prepareStatement(
                    "SELECT commentaireouvrages.id AS comid, commentaireouvrages.contenu_commentaire, commentaireouvrages.date_commentaire, utilisateur.id AS uid,utilisateur.pseudo, utilisateur.nom, utilisateur.prenom, utilisateur.type_user  FROM commentaireouvrages INNER JOIN utilisateur ON  commentaireouvrages.Utilisateurid=utilisateur.id WHERE commentaireouvrages.Ouvrageid=? ORDER BY commentaireouvrages.id DESC");
            stm.setInt(1, ouv_id);//type user prof 1

            rs = stm.executeQuery();
            Utilisateur u = new Utilisateur();
            CommentaireOuvrages co = new CommentaireOuvrages();
            while (rs.next()) {
                co = new CommentaireOuvrages();
                u = new Utilisateur();
                u.setId(rs.getInt("uid"));
                u.setPseudo(rs.getString("pseudo"));
                u.setNom(rs.getString("nom"));
                u.setPrenom(rs.getString("prenom"));
                co.setId(rs.getInt("comid"));
                co.setContenu_commentaire(rs.getString("contenu_commentaire"));
                co.setDate_commentaire(rs.getString("date_commentaire"));
                co.setUtilisateur(u);
                list.add(co);
            }

            con.close();
            rs.close();

        } catch (SQLException ex) {
            Logger.getLogger(UtilisateurModele.class.getName()).log(Level.SEVERE, null, ex);
        }

        return list;
    }

    public static CommentaireOuvrages getCommentaireByid(DataSource ds, int id) {

        CommentaireOuvrages co = null;
        Connection con = null;
        PreparedStatement stm;
        ResultSet rs;
        try {
            con = ds.getConnection();
            stm = con.prepareStatement(
                    "SELECT commentaireouvrages.id AS comid, commentaireouvrages.contenu_commentaire, commentaireouvrages.date_commentaire, utilisateur.id AS uid,utilisateur.pseudo, utilisateur.nom, utilisateur.prenom, utilisateur.type_user  FROM commentaireouvrages INNER JOIN utilisateur ON  commentaireouvrages.Utilisateurid=utilisateur.id WHERE commentaireouvrages.id=?");
            stm.setInt(1, id);//type user prof 1

            rs = stm.executeQuery();
            Utilisateur u = new Utilisateur();

            while (rs.next()) {
                co = new CommentaireOuvrages();
                u = new Utilisateur();
                u.setId(rs.getInt("uid"));
                u.setPseudo(rs.getString("pseudo"));
                u.setNom(rs.getString("nom"));
                u.setPrenom(rs.getString("prenom"));
                co.setId(rs.getInt("comid"));
                co.setContenu_commentaire(rs.getString("contenu_commentaire"));
                co.setDate_commentaire(rs.getString("date_commentaire"));
                co.setUtilisateur(u);

            }

            con.close();
            rs.close();

        } catch (SQLException ex) {
            Logger.getLogger(UtilisateurModele.class.getName()).log(Level.SEVERE, null, ex);
        }

        return co;
    }

}