2013-06-07 10 views
5

Ho eseguito l'operazione CRUD sul database, ma non sono riuscito a trovare alcun metodo diretto per ottenere il tipo di dati char nel database.Come ottenere il tipo di dati char da mysql utilizzando il set di risultati

Anche se ho raggiunto l'output utilizzando il getString(String column_name) del set di risultati, ma mi chiedo perché non esiste alcun metodo come getChar(String column_name), poiché String e Character sono due diversi tipi di dati.

+0

basta prendere il primo carattere della stringa, dato che non è nullo o vuoto, naturalmente. –

risposta

5

Fare riferimento a link e consultare la tabella 3-1 e si otterrà un'idea decente del motivo per cui non esiste getChar(String column_name).

Riepilogo: La mappatura del carattere è su stringa. Quindi esiste getString(String column_name) per il tipo di dati char

4

È perché un Char in MySQL non significa realmente un valore di char singolare, ma in realtà significa un array di caratteri. In Java una matrice di caratteri è rappresentata come una stringa, quindi lo stesso metodo.

1

I database hanno spesso un solo tipo per rappresentare tutte le stringhe di caratteri.

Un carattere è solo un caso speciale: una stringa con un carattere, quindi non sarebbe molto utile aggiungere questo tipo.

E non fatevi ingannare dal loro nome come CHAR. :)

10

Come MySQL lo vede, è tutto Strings perché non ha un tipo per un singolo carattere. Certo, puoi impostare CHAR o VARCHAR in dimensioni di massimo uno, ma questo è un caso speciale e generalmente non vuoi creare metodi per casi speciali quando la funzionalità è già presente.

Basta estrarre il Java char dalla risultante String, come ad esempio:

getString(column_name).charAt(0) 
+1

Risposta perfetta. L'interrogante deve selezionare questo come risposta. –

Problemi correlati