J'étais accro à getXxxx de ResultSet car c'est un type primitif (Java)

Si vous obtenez l'endroit où NULL est entré dans DB avec le code de ↓, Il est devenu 0 au lieu de null.

Double d = rs.getDouble(1);
System.out.println(d);//"0.0"Est sortie

Quand je le vérifie, la valeur de retour de getDouble n'est pas Double mais double ... ↓ Source ResultSet (Java Platform SE 8 )

Valeur de retour:
Valeur de la colonne. Si la valeur est SQL NULL, la valeur renvoyée est 0

Après avoir clarifié, la méthode suivante semble retourner null autre que null.

wasNull Après avoir lu avec getXxxx Il existe également une méthode qui permet de vérifier si elle est nulle, Il est difficile d'utiliser la forme passée au lieu de isNull ...

Après tout, il a été résolu avec ↓

Double d = (Double)rs.getObject(1);
System.out.println(d);//Sortie comme nulle

Conclusion

N'utilisez pas directement JDBC, utilisez une sorte de framework de persistance.

Recommended Posts

J'étais accro à getXxxx de ResultSet car c'est un type primitif (Java)
J'étais accro à un simple test de Jedis (bibliothèque Java-> Redis)
La partie à laquelle j'étais accro dans "Introduction à Ajax dans les applications Web Java" de NetBeans
Initialisation avec une chaîne vide vers une instance de type Java String
[Java] Pour connaître les informations de type des paramètres de type à l'exécution
J'étais accro au réglage de laradock + VSCode + xdebug
Une histoire dans laquelle j'étais accro à la conversion de type implicite d'ActiveRecord lors du test unitaire
J'étais accro au démarrage de sbt
[Java] Entrez dans le stdin du processus
Mémo Android - J'étais accro à la permission
[Java] Comparaison correcte du type String
J'étais accro au paramètre API version min23 de registerTorchCallback
Comment utiliser le type enum Java
Un mémo sobrement accro à la demande de multipart / form-data
[Circle CI] J'étais accro au test automatique de Circle CI (rails + mysql) [Memo]
À partir de Java9, les constructeurs de classe correspondant aux types primitifs sont marqués comme obsolètes.
J'étais accro à la réécriture sur @ SpringApplicationConfiguration-> @SpringBootTest
J'étais accro à la méthode du rouleau
[Java] [Maven3] Résumé de l'utilisation de Maven3
J'étais accro au test Spring-Batch
[Connaissance de base de Java] À propos de la conversion de type
Sortie du livre "Introduction à Java"
Résumé Java des conversions de types fréquemment recherchées
Conversion de type du type java Big Decimal au type String
[Java] Comment convertir un élément d'un tableau de type String en type Int
Résumé des points qui m'inquiétaient lors de la migration de Java vers Kotlin
Utilisez jenv pour activer plusieurs versions de Java
J'étais accro à l'utilisation de RXTX avec Sierra
[java] Résumé de la gestion des chaînes de caractères
Une histoire accro à EntityNotFoundException de getOne de JpaRepository
Points à prendre en compte lors de l'écriture de Java
[Introduction à Java] À propos de la conversion de type (distribution, promotion)
[Java] Résumé de la façon d'omettre les expressions lambda
[Java] Faites attention au type de clé de la carte
J'étais accro à faire onActivityResult () avec DialogFragment
[Java] le type char peut être converti en type int
[Introduction à Java] Bases de l'arithmétique Java (pour les débutants)
Revue Java ③ (utilisation de base des tableaux / type de référence)
Java Bienvenue dans le marais des tableaux bidimensionnels
Notez que j'étais accro aux paramètres du projet Android d'IntelliJ IDEA