Narratore: nell'ultimo video, abbiamo creato una classe
semplice che può archiviarsi
in un database e inizializzarsi dal
database se tale database esiste e i dati sono nella tabella.
Quindi, ora dovremmo avere alcuni record nella nostra tabella dei conti e
fino ad ora abbiamo usato l'interfaccia della riga di comando sqlite
per visualizzare il nostro database.
Ora è importante sapere come farlo
e anche come utilizzare i comandi SQL, ma
ora che siamo tornati
in IlelliJ, in realtà c'è un modo semplice per
visualizzare il database, quindi ne parleremo in questo video.
Ora ho chiuso la finestra di esecuzione
dell'ultimo video perché avremo bisogno dello
spazio e se non l'hai già fatto, dividi
la linea cinque come ho fatto qui su due linee,
perché in realtà questo si sbarazzerà
di uno degli avvertimenti qui
a destra, ma l'ho già fatto
di conseguenza, in realtà non ho ricevuto quell'avvertimento.
Ora, tuttavia, ogni riga di SQL, se la guardiamo e ci
imbattiamo qui, ha sostanzialmente lo stesso messaggio di
errore "Nessuna origine dati configurata" per eseguire
questo SQL. "E puoi
vedere che ce ne sono alcuni lì.
E anche quaggiù, ce n'è uno.
E come ho detto nell'ultimo video, questo non è
un avvertimento sul nostro codice di tracciamento, è IntelliJ che ci informa
che potrebbe controllare le nostre
istruzioni SQL per noi se configurassimo un'origine dati.
Quindi quello che faremo è
iniziare aprendo la finestra Strumento Database, possiamo andare su
o giù, dovrei dire Visualizza, Strumenti Windows e selezionare Database.
Avrei anche potuto fare
clic sul database qui sul lato destro.
Ora da qui ciò che possiamo fare è creare un'origine dati.
Possiamo farlo con Control End o Command End, a
seconda del sistema operativo in uso,
in alternativa possiamo semplicemente fare clic su questo piccolo vantaggio, in alto
a sinistra qui.
Ma l'altro modo di farlo
è semplicemente trascinare il file del database nella finestra.
Ora funziona solo se
il file ha l'estensione corretta, ora IntelliJ utilizza il sistema Windows in cui
l'estensione del file determina il tipo di file.
Ed è per questo che era
importante dare al database un. estensione sqlite, anche su Linus o OSX.
Questi due sistemi operativi non usano le
estensioni di file allo stesso modo, ma IntelliJ
si basa su di esse su tutte le piattaforme.
Quindi quello che possiamo fare qui è
che possiamo trascinare su questi account. sqlite e trascinalo e rilascialo
nel riquadro Database e puoi vedere quando l'ho fatto che
ora abbiamo una voce che mostra.
E lo sposterò un po '.
Quindi, ora che l'ho fatto, puoi
vedere che alcuni degli errori sono
scomparsi, ma ne abbiamo
ancora alcuni qui, uno "Impossibile risolvere il" bilancio
"della colonna,
ma quelli che sono scomparsi sono quelli relativi alla creazione delle tabelle.
Il motivo per cui è
scomparso è che IntelliJ ora conosce i
nomi delle tabelle e riconosce effettivamente l'origine dati.
Ora abbiamo ancora ricevuto avvisi, come ho
già detto, che non possiamo risolvere i nomi
delle colonne e questo
perché InelliJ non ha il driver corretto per i database sqlite.
Quindi la prima volta
che lo fai, dovrai installare i driver per qualunque database tu stia usando.
Ed è per questo che gli account nella finestra del
database sono sottolineati come puoi vedere qui.
E se ci passo sopra, puoi vedere che abbiamo un messaggio
"Impossibile trovare il driver, apri le preferenze da scaricare".
Quindi faremo clic con il tasto destro
su questo database e selezioneremo Proprietà.
E c'è un
link qui sotto dove dice Scarica i file dei driver mancanti, quindi fai clic su quello.
E spero che tu possa
vedere che ha scaricato i file pertinenti per noi
automaticamente e posso fare clic su OK.
E ora puoi
vedere che gli errori sono
scomparsi, gli avvisi sono piuttosto scomparsi,
la sottolineatura sugli account è scomparsa e IntelliJ è ora pienamente
consapevole dell'origine dati e delle tabelle e delle colonne all'interno.
Va bene, quindi voglio solo mostrarti una diapositiva qui,
se stai usando Windows, perché
questo passaggio potresti effettivamente ottenere un popup Avviso di sicurezza di Windows.
Quindi questo è il dialogo di
cui sto parlando e di nuovo, questa è
solo una cosa di Windows, quindi potresti effettivamente ottenere questo popup sul tuo computer.
Quindi, se lo capisci, è importante
consentire l'accesso su reti private.
Stranamente più stretto, il dialogo appare
con le reti pubbliche già spuntate e
probabilmente non vorrai permetterlo.
Quindi deseleziona le reti Pulic e assicurati
di spuntare le reti private prima di fare
clic sul pulsante Consenti accesso, quindi
lo porterò di nuovo
sullo schermo mentre parlo solo in modo da poter vedere quell'immagine,
se non consenti l'accesso sulle reti private, avrai
tutti i tipi di problemi con gli aggiornamenti e così via, quindi, di
nuovo, cosa dobbiamo fare qui se le reti pubbliche sono spuntate e ottieni questo
dialogo, probabilmente non
vuoi permetterlo, quindi deselezioni Reti pubbliche e assicurati
di selezionare Reti private prima di
fare clic sul pulsante Consenti accesso.
Va bene, quindi torniamo alla diapositiva.
Quindi nota che questo dialogo potrebbe apparire
di nuovo, dopo un aggiornamento di Java, quindi è un'impostazione
persistente, ma un nuovo Java lo attiverà di nuovo.
E ancora, questa è solo una cosa di Windows.
Bene, ora che abbiamo i driver giusti, gli
avvisi scompaiono e IntelliJ può verificare i nomi delle nostre tabelle
e colonne come puoi vedere.
Quindi è abbastanza bello, ma in realtà migliora.
E lo espanderò ancora un po '.
E se ora espandiamo questo, possiamo vedere
che ci sta mostrando utilmente l'elenco delle tabelle
e possiamo espandere ulteriormente quelle
e effettivamente vedere le colonne all'interno delle tabelle e
notare che per la tabella delle transazioni, il tempo viene mostrato come TESTO
anziché TIMESTAMP e tu Vedrai i normali
tipi di sqlite solo quando hai lo schema in questo modo, quindi
in realtà non è perfetto, devi fare attenzione se
modifichi colonne non standard da qui, ma è
ancora una funzione
molto utile e semplifica la vita.
Ora puoi anche fare doppio clic sui nomi delle
tabelle o utilizzare il pulsante Editor tabella sulla barra degli strumenti,
che è questo
pulsante qui, che è disattivato, perché non ho selezionato una tabella.
Facendo clic su quello in realtà ci dà
un elenco di voci che sono effettivamente nel database.
O specificamente in quella tabella.
E quassù, in realtà hai una
voce in cui
puoi effettivamente aggiungere una nuova riga e poiché
abbiamo account aperti, questa barra degli strumenti è relativa
alla tabella degli account, possiamo
effettivamente aggiungere un nuovo record se vogliamo, quindi io cliccaci sopra e
fai doppio clic sul record, o piuttosto nella
colonna, inserisci un nuovo nome, dì Michael, posso fare un tab
o fare doppio clic sul saldo e inseriamo 500, premi invio lì.
Quindi aggiungiamo un altro record, abbiamo
bisogno di un altro Terry, quindi facciamo doppio clic
qui e inseriamo un valore pari a zero.
Ora riceviamo un errore
o meglio, dovremmo ricevere un errore ma non ancora.
Ora nota che le due nuove voci
sono evidenziate in verde qui, abbiamo aggiunto le righe ma la
modifica non è stata commutata nel database, ecco
perché è in verde.
Quindi due pulsanti sono diventati disponibili qui sulla barra
degli strumenti e sono piuttosto piccoli, quindi
potrebbe essere necessario strizzare gli occhi per vederli.
Quindi ho questo qui, che
sarà Invia e abbiamo questo qui che è Revert.
E nota che non era attivo, il pulsante Ripristina
fino a quando non ho selezionato un record, quindi se ho selezionato
Terry facendo clic su Ripristina una volta rimuove e se faccio clic di nuovo su di
esso, viene rimosso anche Michael e ora è disabilitato perché ovviamente
tutto è stato commutato nel database e non
c'è nulla da aggiornare o ripristinare.
Va bene, quindi aggiungeremo di nuovo queste due voci.
Michael, 500 e anche Terry, zero.
Questa volta invierò la modifica e noterò che
abbiamo un errore in fondo.
Interruzione a causa di violazione del vincolo
(vincolo UNIQUE non riuscito: account. nome) Quindi perché
stiamo effettivamente ricevendo questo errore?
Bene, è perché la colonna del nome è la
chiave primaria e i campi della chiave primaria devono essere univoci.
E proprio nella parte inferiore
dello schermo puoi vedere che ti sta
persino mostrando l'SQL che stava cercando di usare per aggiungere questi record
al database, quindi in questo caso è fallito,
ancora una volta, a causa del vincolo univoco come la duplicazione del nome Terry.
Quindi andiamo avanti e
rendiamo unico questo nuovo Terry, quindi inserirò Terry e questa volta inseriremo TerryG.
E se invio questa volta, vedrai che ha
funzionato correttamente e le voci non sono più in verde, il che
ci dice che sono
state effettivamente aggiunte al database.
A questo punto non posso quindi ripristinare la modifica
e solo per
mostrarti qualcosa qui, se cambio TerryG in TerryH, whoops,
TerryH, possiamo quindi ripristinare quel cambiamento se vogliamo.
Ora su alcuni sistemi operativi potresti ottenere
qualcosa di strano qui, a volte potresti scoprire che
il pulsante Ripristina non viene abilitato e ciò che potresti dover fare è
fare clic su questa
piccola freccia circolare qui per aggiornare effettivamente la tabella
e poi tu scoprirai che sarai in grado
di utilizzare il pulsante Ripristina.
Ma come vedi non si è
verificato sul mio Mac, ma a volte può accadere
su Windows o Linux, credo che probabilmente sia un bug con IntelliJ.
Proprio così, a questo punto ora, abbiamo effettivamente un account per
ogni membro del mio dipartimento e questo è davvero
il Visualizzatore di database IntelliJ in breve.
Ora puoi effettivamente utilizzare questo Visualizzatore database per visualizzare una serie di database
diversi e ovviamente non puoi trascinare cose come
i database Microsoft SQL
Server nella finestra per configurarlo, quindi se è
così e vuoi farlo, ti viene in mente
qui e fai clic su
più, in alto a sinistra nella finestra del database e scegli l'origine
dati che desideri, l'origine dati, puoi
vedere che ce ne sono parecchi lì e
selezioni il tipo di database appropriato
dall'elenco, configura la tua connessione .
Ad esempio, se scelgo SQL Server (Microsoft), abbiamo le consuete opzioni
di configurazione per la connessione
a un database di SQL Server.
Ora se non hai mai usato SQL
Server, non ti preoccupare, ti sto solo mostrando
ciò che è possibile, se hai bisogno di connetterti a un SQL Server
o Oracle o DB2 o altro, gli amministratori del database ti
daranno il i dettagli per entrare in questo modulo comunque.
Va bene, quindi annullerò questo.
Va bene, quindi c'è un'altra
cosa che voglio coprire prima di andare avanti, ora vedremo come
eseguire il commit e il rollback delle transazioni del database.
Ma abbiamo anche una tabella chiamata
transazioni che memorizza i dati delle transazioni finanziarie.
Ora usare la stessa parola
per entrambe queste cose diventerà molto confuso molto rapidamente.
Quindi quello che faremo
è rinominare la nostra tabella delle transazioni in cronologia.
Ora rinominare tabelle e
colonne è qualcosa che potresti dover
fare, motivo per cui ho escogitato questa scusa per mostrarti come farlo.
Quindi, in primo
luogo, voglio chiudere questa finestra del Visualizzatore database affinché
gli account tornino al nostro codice e per
ora chiuderò il database.
Quindi la prima
cosa che dobbiamo fare è apportare una
modifica al codice in modo da non creare una
nuova riga per Terry, quindi
scendiamo qui, sulla linea 53, e faremo che Account
sia uguale a TerryG , invece di Terry,
quindi evitiamo qualsiasi problema con la violazione
del vincolo univoco e l'altra cosa che
voglio fare ora è recuperare quelle due voci, in realtà
lo cambieremo in TerryJ, quindi
vogliamo recuperare le due voci che abbiamo creato nel Visualizzatore database,
quindi michael = Account ("Michael") e poi anche terryG, che di
nuovo abbiamo aggiunto nel Visualizzatore database, = Account ("TerryG"), va bene.
Quindi se esegui questo.
Puoi vedere che abbiamo, scorrerò un po 'su questo solo per
espanderlo un po' più
in alto in modo da poter vedere tutto, possiamo vedere che
tutti e sei gli oggetti vengono popolati dal database.
Quindi il primo per John
e poi ne abbiamo uno per Graham, Eric, Michael e TerryG.
E se lo avessi eseguito di nuovo, ora
possiamo aver fatto che ho sei recuperi qui, abbiamo John, TerryJ,
Graham, Eric, Michael e TerryG, quindi tutti e sei ora
vengono popolati dal Banca dati.
E se ricordi con il record di Michael, non
abbiamo specificato un saldo del
conto, ma puoi vedere qui che il saldo viene visualizzato come cinque,
quindi è stato recuperato dalla tabella dei conti.
Va bene, quindi per modificare la tabella delle transazioni,
come possiamo fare per apportare tale modifica?
Bene, apriamo di nuovo la
finestra del database, posso anche fare clic qui per aprirlo.
E se veniamo qui ora alla tabella delle transazioni, posso fare
clic con il pulsante destro del mouse e scegliere Modifica tabella e nella
finestra di dialogo Modifica tabella, possiamo semplicemente digitare
il nuovo nome per la
tabella, sostituire le transazioni di nomi
esistenti, che ho menzionato " lo farò e lo cambieremo in storia.
E notate in fondo che IntelliJ
sta mostrando utilmente il comando SQL che
eseguirà per eseguire l'azione, quindi è davvero bello.
Sai, ma hai in
mente, questo non significa che ora possiamo
dimenticare tutto il movimento SQL finora nel corso.
Quindi eseguirò l'istruzione SQL, IntelliJ
controlla il nostro codice, controllerà per vedere il
nostro codice per vedere se anche qualcosa all'interno deve cambiare, quindi
faccio clic su Esegui, puoi vedere che ci sta dicendo che qui è necessario
apportare una modifica, poiché fa ancora riferimento alla tabella delle
transazioni, quindi tenere presente che IntelliJ non si occupa ancora
di modificare il codice per noi fino a quando non
si procede effettivamente e fare clic su Do Refactor.
Quindi fai clic su Do Refactor e puoi vedere
qui ovviamente la storia è ora il
nome, quindi lo chiuderò, database.
Ma l'altra cosa che dobbiamo cambiare,
però, è qui alla riga cinque, notando che non
ha cambiato la tabella delle transazioni lì, quindi
dobbiamo cambiarla in cronologia e, infine, ti mostrerò che questa è anche un'opzione qui, quando andiamo
alla nostra tabella nel Visualizzatore database, facciamo clic
con il pulsante destro del mouse, possiamo fare clic su
Rinomina, ma non facciamo lo stesso controllo nel codice sorgente, quindi
per questo motivo penso che sia meglio per te usare il Modifica
la tabella e questo
è quello che abbiamo usato in questo video.
Va bene, e lo eseguiremo di nuovo
per assicurarci che funzioni ancora.
E abbiamo ancora gli stessi
risultati, ora stiamo usando la nuova tabella.
Bene, ora eliminiamo la confusione sulla transazione di
parole, quindi interromperò il video
qui e nel prossimo video, continueremo con
il nostro programma di account e
il rollback delle transazioni.
Ci vediamo nel prossimo video.