2013-04-26 9 views
13

qualcuno in parole semplici può spiegare cosa significano esattamente i "passaggi" nell'implementazione di un JDBC? Qual è l'importanza di ogni passaggio? Perché è richiesta la classe DriverManager? cos'è? Che cosa è un driver al primo posto? Che cosa fa? Fondamentalmente voglio il funzionamento interno di JDBC (rispetto a MySqL), e come viene eseguito? E anche quando si collega java con MySql, qual è l'importanza della porta? e perché è richiesto nome utente e password?Una breve spiegazione: come funziona JDBC?

+0

Un "driver di database" o "adattatore di database" è un'astrazione tra alcuni protocolli/interfacce (ad esempio JDBC) e il server sottostante (ad esempio MySQL). Mentre questo non può rimuovere tutte le differenze, unifica gran parte dell'impianto idraulico generale e consente un accesso coerente. Per vedere il "funzionamento interno", [vai avanti e apri il codice sorgente] (http://stackoverflow.com/questions/11017642/mysql-jdbc-driver-where-is-the-source) per una particolare implementazione. – user2246674

risposta

12

Perché è richiesta la classe DriverManager? che cos'è?

Il DriverManager è un meccanismo di registro e di ricerca.È responsabile per prendere la connessione al database URL e trovare un driver adatto in grado di usarlo.

Il DriverManager viene utilizzato per mantenere una singola istanza di ciascun conducente, che riduce il numero di risorse richieste ed evita la necessità di avere più istanze dello stesso driver esecuzione in memoria ...

Ad esempio, la generale URL per MySQL inizia con jdbc:mysql://. Il DriverManager chiede a ciascun driver se comprende lo URL, quando ne trova uno, passa l'URL ad esso per creare la connessione effettiva.

Che cos'è un driver al primo posto? Che cosa fa?

Il driver è un contratto tra l'applicazione e il database. È un mezzo attraverso il quale è possibile scrivere codice standardizzato che può essere utilizzato su più database, che in realtà non ha bisogno di sapere o preoccuparsi di come tali chiamate sono fisicamente fatte al database.

E anche durante il collegamento di java con MySql, qual è l'importanza della porta ?

Questo è un concetto molto basilare di comunicazione tra computer. Pensa a un computer come a un blocco di unità. Per inviare una lettera a questo computer, è necessario un indirizzo, questo sarebbe l'indirizzo IP del computer. Devi anche conoscere l'unità alla quale stai inviando la lettera, questo è il numero della porta.

Ciò consente di parlare non solo con il computer, ma con un singolo processo. La vita sarebbe piuttosto difficile se tu potessi parlare solo con un processo.

e perché è richiesto nome utente e password?

Questo scende la sicurezza. Descrive non solo chi può connettersi a un determinato database, ma cosa possono fare, come inserire, aggiornare, eliminare e creare oggetti di database.

+0

questo è quello che volevo !!! grazie mille :) :) ..... avevo letto i documenti java ... ma questi erano alcuni punti che mi confondevano .. se fosse stato possibile avrei votato 10 punti per questa risposta – user2056245

3

Si dovrebbe iniziare leggendo il JDBC Tutorial. Questo risponde alla maggior parte delle tue domande.

Qualcuno in parole semplici può spiegare cosa significano esattamente i "passaggi" nell'implementazione di un JDBC? Qual è l'importanza di ogni passo?

Vedere il tutorial. Utilizza parole semplici :-)

Perché è richiesta la classe DriverManager? che cos'è? Che cosa è un driver al primo posto? Che cosa fa?

Vedere il tutorial. In pratica, il driver fornisce la "colla" che collega JDBC al protocollo over-the-wire utilizzato dal server di database per comunicare con i client. Si noti che questi protocolli non sono standardizzati e variano da un fornitore DB all'altro. Ecco perché Oracle non fornisce i driver ... li ottieni dal fornitore del database.

La classe DriverManager è solo un po '"idraulica" per facilitare l'applicazione all'applicazione di un'istanza Driver.

Ma questo è tutto descritto nel tutorial, i javadocs e il codice sorgente.

Fondamentalmente voglio il funzionamento interno di JDBC (rispetto a MySqL) e come viene eseguito?

Il codice sorgente per i driver è disponibile pubblicamente, nello stesso punto in cui si scaricano i driver stessi. Sentiti libero di scaricarlo e leggerlo.

E anche durante il collegamento di java con MySql, qual è l'importanza della porta?

Il nome DNS o l'indirizzo IP e il numero di porta specificano il "punto finale" su cui il server di database ascolta le richieste. Dicono all'autista a quale servizio di database connettersi.

e perché è richiesto nome utente e password?

Bene! In modo che tu possa proteggere i tuoi dati dall'accesso, eccetera da persone non autorizzate. (Naturalmente, non devi farlo, quindi in questo senso non sono "obbligatori")

Problemi correlati