Java tutorial
/* * 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; } }