Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.sql.*;
- import java.text.SimpleDateFormat;
- public class boot{
- public static void main( String args[] ){
- Scanner input = new Scanner( System.in );
- String user = "root", pass = "admin";
- int usrChoice = -1, rv;
- /*
- System.out.println( "Inserire il nome utente:" );
- user = "&user=" + input.nextLine();
- System.out.println( "Inserire la password:" );
- pass = "&password=" + input.nextLine();
- */
- try{
- Connection conn = null;
- Class.forName( "com.mysql.jdbc.Driver" ).newInstance();
- String url = "jdbc:mysql://localhost/bdunisa" + user + pass;
- conn = DriverManager.getConnection( url );
- System.out.printf( "\n\tConnessione a %s riuscita\n\n", url );
- Statement st = conn.createStatement();
- while( usrChoice != 0 ){
- printMenu();
- usrChoice = Integer.parseInt( input.nextLine() );
- if( usrChoice != 0 )
- doOperation( usrChoice, st );
- }
- st.close();
- conn.close();
- } catch( Exception e ){
- System.out.println(e);}
- }
- private static void progetto(){
- for( int i=0; i<50; i++ )
- System.out.println();
- }
- private static void printMenu(){
- progetto();
- System.out.println( "Università degli Studi di Salerno - Biblioteca v1.0");
- System.out.println( "-----------------------------------------------------------------------------" );
- System.out.println( " Menu delle operazioni" );
- System.out.println( "-----------------------------------------------------------------------------" );
- System.out.println( "1 - Memorizza nuovo Utente");
- System.out.println( "2 - Memorizza nuovo Critico");
- System.out.println( "3 - Memorizza una nuova Recensione");
- System.out.println( "4 - Memorizza nuovo Prestito");
- System.out.println( "5 - Memorizza nuovo Autore");
- System.out.println( "6 - Memorizza nuova Casa Editrice");
- System.out.println( "7 - Memorizza nuova Opera");
- System.out.println( "8 - Modifica dei dati utente");
- System.out.println( "9 - Cancellare un Utente");
- System.out.println( "10 - Cancellare un Critico");
- System.out.println( "11 - Cancellare una Recensione");
- System.out.println( "12 - Cancellare un Autore");
- System.out.println( "13 - Cancellare una Casa Editrice");
- System.out.println( "14 - Cancellare un'opera");
- System.out.println( "15 - Stampa l'elenco degli utenti ed il numero dei prestiti effettuati");
- System.out.println( "16 - Stampa dei prestiti effettuati in un determinato anno");
- System.out.println( "17 - Stampa l’elenco ed il numero delle recensioni");
- System.out.println( "18 - Stampa l’elenco degli autori");
- System.out.println( "19 - Stampa l’elenco delle case editrici");
- System.out.println( "20 - Ricerca di un’opera per titolo con controllo disponibilità");
- System.out.println( "21 - Stampare l'elenco dei prestiti in corso");
- System.out.println( "0 - Uscire");
- System.out.println( "-----------------------------------------------------------------------------" );
- System.out.println();
- System.out.print( "Digitare scelta: ");
- }
- private static void doOperation( int usrChoice, Statement st ){ //Esegue l'operazione indicata dall'intero usrChoice
- Scanner input = new Scanner( System.in );
- try{
- String op = ""; //Stringa contentente le query SQL
- int rv; //Return value
- ResultSet rs; //Variabile che conterrà gli output delle varie query
- switch( usrChoice ){
- default:{
- System.out.println("Selezione errata.");
- break;
- }
- case 1:{
- Scanner in = new Scanner (System.in);
- String s1="docente", s2="studente";
- System.out.println("Fornisci il numero di carta di identità");
- String numCartaId = in.nextLine();
- op = "SELECT `CARTAIDENTITA` FROM `UTENTE` WHERE `CARTAIDENTITA` = " + numCartaId;
- rs=st.executeQuery(op);
- if(rs.next()){
- System.out.println("L'utente è già registrato.");
- } else {
- System.out.println("Definire il nominativo (nome e cognome separati da uno spazio)");
- String nominativo=in.nextLine();
- System.out.println("Definire la matricola");
- int matricola= in.nextInt();
- System.out.println("Definire l'indirizzo (compreso di numero civico)");
- String indirizzo=in.nextLine();
- System.out.println("Definire recapito telefonico");
- int recapito=in.nextInt();
- System.out.println("Definire un USERNAME");
- String username=in.nextLine();
- System.out.println("Definire una PASSWORD");
- String password=in.nextLine();
- System.out.println("Definire il tipo utente: [DOCENTE o STUDENTE]");
- String tipoUtente=in.nextLine();
- if(tipoUtente.equalsIgnoreCase(s1)){
- System.out.println("Inserisci il dipartimento");
- String dipartimento=in.nextLine();
- System.out.println("Iscrizione completata.");
- } else if(tipoUtente.equalsIgnoreCase(s2))
- System.out.println("Iscrizione completata");
- else System.out.println("Digitazione errata.");
- //CREAZIONE TESSERA UTENTE
- System.out.println("Definisci numero tessera");
- String numTessera=in.nextLine();
- System.out.println("Definisci il numero di irregolarità");
- String numIrregolarita=in.nextLine();
- System.out.println("Inserisci la data creazione della tessera (YYYY-MM-GG)");
- String dataRegistrazione=in.nextLine();
- }
- break;
- }
- case 2:{
- Scanner in= new Scanner(System.in);
- System.out.println("Inserisci il codice del critico");
- int codCritico=in.nextInt();
- op="SELECT `CODCRITICO` FROM `CRITICO` WHERE CODCRITICO = " +codCritico;
- rs=st.executeQuery(op);
- if(rs.next()){
- System.out.println("Il codice inserito è già inserito nel sistema.");
- } else {
- System.out.println("Definire il nome del critico");
- String nome=in.nextLine();
- System.out.println("Definire il cognome del critico");
- String cognome=in.nextLine();
- System.out.println("Operazione eseguita con successo.");
- }
- break;
- }
- case 3:{
- Scanner in = new Scanner(System.in);
- System.out.println("Definisci l'isbn dell'opera");
- int isbnOpera=in.nextInt();
- op="SELECT `ISBN` FROM `OPERA` WHERE ISBN = "+isbnOpera;
- rs=st.executeQuery(op);
- if(rs.next()){
- System.out.println("Il codice ISBN è già esistente.");
- } else {
- System.out.println("Definisci il nome dell'opera recensita");
- String opera=in.nextLine();
- System.out.println("Definisci il rating per l'opera");
- double rating=in.nextDouble();
- System.out.println("Definisci il nome del critico");
- String nomeCritico=in.nextLine();
- System.out.println("Definisci il cognome del critico");
- String cognomeCritico=in.nextLine();
- System.out.println("Operazione eseguita con successo.");
- }
- break;
- }
- case 4:{
- Scanner in = new Scanner (System.in);
- System.out.println("Inserisci il titolo dell'opera");
- String titOpera=in.nextLine();
- op="SELECT `TITOLO, `DISPONIBILITA` FROM `OPERA` WHERE DISPONIBILITA<3 AND TITOLO= "+titOpera;
- rs=st.executeQuery(op);
- if(rs.next()){
- System.out.println("Opera già presente nel db");
- } else {
- System.out.println("Inserisci il codice identificativo per il prestito");
- int codPrestito=in.nextInt();
- System.out.println("Inserisci la data del prestito (YYYY-MM-GG)");
- String dataPrestito=in.nextLine();
- System.out.println("Definisci la data di scadenza prestito (YYYY-MM-GG)");
- String scadenzaPrestito=in.nextLine();
- System.out.println("Definisci la data di restituzione dell'opera (YYYY-MM-GG)");
- String restituzione=in.nextLine();
- System.out.println("Definisci il documento di riconoscimento");
- String docIdentita=in.nextLine();
- System.out.println("Definisci il nome dell'opera");
- String isbn=in.nextLine();
- }
- break;
- }
- case 5:{
- Scanner in = new Scanner (System.in);
- System.out.println("Definisci il nome dell'autore");
- String nomeAutore=in.nextLine();
- op="SELECT `NOME` FROM `AUTORE` WHERE NOME = "+nomeAutore;
- rs=st.executeQuery(op);
- if(rs.next()){
- System.out.println("Autore già presente");
- } else {
- System.out.println("Definisci il cognome dell'autore");
- String cognomeAutore=in.nextLine();
- System.out.println("Operazione eseguita con successo.");
- }
- break;
- }
- case 6:{
- Scanner in = new Scanner (System.in);
- System.out.println("Inserisci il codice della casa editrice");
- String codCasaEd=in.nextLine();
- op="SELECT `NOME` FROM `CASAEDITRICE` WHERE NOME =" +codCasaEd;
- rs=st.executeQuery(op);
- if(rs.next()){
- System.out.println("Già presente.");
- } else {
- System.out.println("Inserisci il nome della casa editrice");
- String nomeCasaEd=in.nextLine();
- System.out.println("Operazione effettuata.");
- }
- break;
- }
- case 7:{
- Scanner in = new Scanner (System.in);
- String op2="multimediale", op1="cartaceo";
- System.out.println("Inserisci il titolo dell'opera");
- String titolo=in.nextLine();
- op="SELECT `TITOLO` FROM `OPERA` WHERE TITOLO = "+titolo;
- rs=st.executeQuery(op);
- if(rs.next()){
- System.out.println("Opera già esistente.");
- } else {
- System.out.println("Inserisci l'isbn dell'opera");
- String isbn=in.nextLine();
- System.out.println("Inserisci la collocazione dell'opera [Area-Scaffale-Piano|FF]");
- String collocazione=in.nextLine();
- System.out.println("Inserisci la categoria");
- String categoria=in.nextLine();
- System.out.println("Inserisci la disponibilità dell'opera [true se disponibile, false non disponibile]");
- boolean disponibilita=in.nextBoolean();
- System.out.println("Definisci il tipo dell'opera [MULTIMEDIALE o CARTACEO]");
- String tipoOpera=in.nextLine();
- if(tipoOpera.equalsIgnoreCase(op2)){
- System.out.println("Inserisci la durata [espressa in minuti]");
- int durata=in.nextInt();
- System.out.println("Definisci la lingua dell'opera");
- String linguaOpera=in.nextLine();
- System.out.println("Opera inserita con successo.");
- } else if(tipoOpera.equalsIgnoreCase(op1)){
- System.out.println("Inserisci il numero di pagine");
- int numPagine=in.nextInt();
- System.out.println("Inserisci il numero di volumi");
- int numVolume=in.nextInt();
- System.out.println("Operazione completata.");
- } else { System.out.println("Tipo di dato errato."); }
- }
- break;
- }
- case 8:{
- Scanner in = new Scanner (System.in);
- int risp;
- System.out.println( "-----------------------------------------------------------------------------" );
- System.out.println( " Menu delle operazioni modifica Utente" );
- System.out.println( "-----------------------------------------------------------------------------" );
- System.out.println( "1 - Cambio Password" );
- System.out.println( "2 - Cambio Username");
- System.out.println( "3 - Modifica dipartimento [solo per docenti]" );
- System.out.println( "4 - Modifica irregolarità" );
- System.out.println();
- System.out.println( "-----------------------------------------------------------------------------" );
- System.out.println();
- switch(risp){
- case 1:{
- System.out.println("Inserisci la password");
- String vecchiaPass=in.nextLine();
- String op1="SELECT `PASSWORD` FROM `UTENTE` WHERE PASSWORD =" +vecchiaPass;
- if(rs.next()){
- System.out.println("Inserisci la nuova password:");
- String nuovaPass = in.nextLine();
- op="UPDATE UTENTE SET PASSWORD ="+"\'"+nuovaPass+"\'"+"WHERE PASSWORD="+"\'"+vecchiaPass+"\'";
- rs=st.executeQuery(op);
- } else
- System.out.println("Password errata o non esistente.");
- break;
- }
- case 2:{
- System.out.println("Inserisci l'username");
- String userName=in.nextLine();
- op="SELECT USERNAME FROM UTENTE WHERE USERNAME="+userName;
- if(rs.next()){
- System.out.println("Inserisci il nuovo username");
- String nuovoUser;
- String op1="UPDATE UTENTE SET USERNAME ="+"\'"+nuovoUser+"\'"+"WHERE USERNAME="+"\'"+userName+"\'";
- rv=st.executeUpdate(op1);
- } else
- System.out.println("Username non trovato");
- }
- case 3:{
- System.out.println("Inserisci il vecchio dipartimento");
- int mat=in.nextInt();
- op="SELECT DIPARTIMENTO FROM UTENTE WHERE DIPARTIMENTO="+mat;
- rs=st.executeQuery(op);
- if(rs.next()){
- System.out.println("Inserisci il dipartimento");
- String nuovoDip= input.nextLine();
- String op1="UPDATE UTENTE SET DIPARTIMENTO ="+"\'"+nuovoDip+"\'"+"WHERE DIPARTIMENTO="+"\'"+mat+"\'";
- rv=st.executeUpdate(op1);
- System.out.println("Operazione completata");
- } else
- System.out.println("La matricola corrisponde a quella di uno studente.");
- break;
- }
- case 4:{ //Raimondo
- System.out.println("Vuoi aggiungere o azzerare il numero di irregolarità?");
- String ris = in.nextLine(), k="aggiungi", j="azzerare",op1;
- int el=-1, ag=+1;
- if(ris.equalsIgnoreCase(k)){
- op1="SELECT NUMIRREGOLARITA FROM UTENTE WHERE NUMIRREGOLARITA=0 AND NUMIRREGOLARITA <11)";
- rs=st.executeQuery(op1);
- if(rs.next()){
- op1="UPDATE UTENTE SET NUMIRREGOLARITA ="+"\'"+el+"\'"+"WHERE NUMIRREGOLARITA="+"\'"+"\'";
- rv=st.executeUpdate(op1);
- System.out.println("Aggiornamento completato.");
- }
- else
- System.out.println("Non sei abilitato per richiedere prestiti.");
- }
- if(ris.equalsIgnoreCase(j)){
- op1="SELECT NUMIRREGOLARITA FROM UTENTE WHERE NUMIRREGOLARITA=0 AND NUMIRREGOLARITA <11";
- rs=st.executeQuery(op1);
- if(rs.next()){
- op1="UPDATE UTENTE SET NUMIRREGOLARITA="+"\'"+0+"\'"+"WHERE NUMIRREGOLARITA="+"\'"+"\'";
- rv=st.executeUpdate(op1);
- System.out.println("Operazione completata.");
- }
- }
- break;
- }
- case 9:{
- rs = st.executeQuery("SELECT CARTAIDENTITA FROM UTENTE ");
- while( rs.next() ){
- System.out.println(rs.getString(1)); //Ricordati di allineare tabella
- }
- System.out.println( "Inserire il documento di identità per cancellare il cliente:" );
- String cancUtente = in.nextLine();
- op = "DELETE FROM UTENTE WHERE (CARTAIDENTITA="+"\'"+cancUtente+"\')";
- rv = st.executeUpdate(op);
- break;
- }
- case 10:{
- System.out.println( "Inserire il codice critico che vuoi cancellare" );
- String nCritico=in.nextLine();
- op=("SELECT CODCRITICO FROM OPERA WHERE CODCRITICO="+nCritico);
- rs = st.executeQuery(op);
- if( rs.next() ){
- System.out.println(rs.getString(1)); //Ricordati di allineare tabella
- String op1 = "DELETE FROM OPERA CODCRITICO WHERE CODCRITICO ="+"\'"+nCritico+"\')";
- rv = st.executeUpdate( op1 );
- } else
- System.out.println("Il codice critico inserito è inesistente.");
- break;
- }
- case 11:{
- System.out.println("Inserisci l'id recensione");
- String idRecensione=in.nextLine();
- String op1="SELECT IDRECENSIONE FROM RECENSIONE WHERE IDRECENSIONE= "+idRecensione;
- if( rs.next() ){
- op="DELETE * FROM RECENSIONE";
- rv=st.executeUpdate(op);
- if(rv>0)
- System.out.println("Operazione completata.");
- else
- System.out.println( "Impossibile cancellare." );
- break;
- } else System.out.println("Non esiste il codice immesso.");
- }
- case 12:{
- System.out.println("Inserisci il codice autore da eliminare");
- String codAut=in.nextLine();
- op="SELECT CODAUTORE FROM AUTORE WHERE CODAUTORE=" +codAut;
- rs=st.executeQuery(op);
- if( rs.next() ){
- String op1= "DELETE * FROM AUTORE";
- rv=st.executeUpdate(op1);
- System.out.println("Operazione completata");
- } else
- System.out.println("Il codice autore non esiste.");
- break;
- }
- case 13:{
- System.out.println("Inserisci il codice della casa editrice da cancellare");
- String codCE=in.nextLine();
- op="SELECT CODCASAEDITRICE FROM CASAEDITRICE WHERE CODCASAEDITRICE=" +codCE;
- rs=st.executeQuery(op);
- if( rs.next() ){
- String op1= "DELETE FROM CASAEDITRICE WHERE CODCASAEDITRICE=" +codCE;
- rv=st.executeUpdate(op1);
- if(rv>0)
- System.out.println("Operazione completata");
- else
- System.out.println("Il codice per la casa editrice non esiste.");
- break;
- }
- }
- case 14:{
- System.out.println("Inserisci l'ISBN dell'opera da eliminare");
- String codOp=in.nextLine();
- op="SELECT ISBN FROM OPERA WHERE ISBN=" +codOp;
- rs=st.executeQuery(op);
- if(rs.next()){
- String op1= "DELETE FROM OPERA WHERE ISBN=" +codOp;
- rv=st.executeUpdate(op1);
- if(rv>0)
- System.out.println("Operazione completata");
- else
- System.out.println("Il codice isbn non esiste.");
- }
- break;
- }
- case 15:{
- rs=st.executeQuery("SELECT DISTINCT Nome.UTENTE, Cognome.UTENTE, Matricola, Count(*) AS NumPrestiti FROM UTENTE, GROUP BY NumPrestiti");
- while(rs.next()){
- System.out.println(rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getString(4)+"\n");
- }
- }
- case 16:{
- System.out.println("Inserisci la data prestito [YYYY-MM-GG]");
- String data=in.nextLine();
- rs=st.executeQuery("SELECT Count() AS NumPrestiti FROM UTENTE WHERE DATAPRESTITO= "+data);
- while(rs.next()){
- System.out.println(rs.getString(1));
- }
- }
- case 17:{
- rs=st.executeQuery("SELECT COUNT(*) AS NumRecensioni, idRecensione FROM RECENSIONI");
- while(rs.next()){
- System.out.println(rs.getString(1)+"\t"+rs.getString(2));
- }
- }
- case 18:{
- rs=st.executeQuery("SELECT NOME.AUTORE, COGNOME.AUTORE FROM AUTORE");
- while(rs.next()){
- System.out.println(rs.getString(1)+"\t"+rs.getString(2));
- }
- }
- case 19:{
- rs=st.executeQuery("SELECT CODCASAEDITRICE, NOME.CASAEDITRICE FROM CASAEDITRICE");
- while(rs.next()){
- System.out.println(rs.getString(1)+"\t"+rs.getString(2));
- }
- }
- case 20:{
- System.out.println("Inserisci il nome dell'opera da ricercare");
- String opRic;
- rs=st.executeQuery("SELECT TITOLO, DISPONIBILITA FROM OPERA WHERE TITOLO ="+opRic);
- while(rs.next()){
- System.out.println(rs.getString(1)+"\t"+rs.getString(2));
- }
- }
- case 21:{
- rs=st.executeQuery("SELECT DATAPREST FROM PRESTITO WHERE DATAPREST IS NOT NULL");
- while(rs.next()){
- System.out.println(rs.getString(1));
- }
- }
- } catch( Exception e ){
- System.out.println( e );
- System.out.printf( "\nPremere invio per continuare..." );
- String temp = input.nextLine();
- }
- }
Add Comment
Please, Sign In to add comment