6
votes

Comment obtenir une vérification de la terreur supérieure des requêtes MySQL

Je viens de commencer à utiliser MySQL et je peux juste me voir woking avec des cordes! Je veux dire que le compilateur ne peut pas attraper des erreurs comme celle-ci et c'est juste un gâchis! Y a-t-il un wrapper ou une sorte de classe que je peux ajouter quelque chose aussi simple que de faire une fonction qui ajoute une table et demande des arguments?

Je suis sûr qu'il y a un outil comme ça, mais je ne peux pas le trouver ou connaître son nom.


1 commentaires

Oui, travailler avec SQL requêtes est Travailler avec les chaînes. Très utile. Qu'est-ce qui ne va pas pour vous dans cela?


3 Réponses :


1
votes

Vous pouvez utiliser un mappeur d'objet-relation comme hibernate . Voir aussi quel orm Java préférez-vous et pourquoi? .


0 commentaires

1
votes

donner jdbc Essayez A essayer.


1 commentaires

"Dummies" en question et l'orthographe suggère que cela.



4
votes

Vous cherchez essentiellement un mappeur relationnel objet. Hibernate est l'un des pionniers de cette zone. JPA est une nouvelle et bien établie Java EE Standard dans cette zone, formé par le gars derrière Hibernate. Hibernate et eclipselink propose des implémentations JPA.

Il existe des outils IDE pour autogénérer des classes Java basées sur des modèles de base de données et inversement, tels que Outils hibernate pour" bon vieux "hibernate et Eclipse Dali pour JPA.

Si vous ne voulez pas utiliser d'ormes et / ou de ne pas vouloir autogénérer des objets de modèle, vous devez simplement vous assurer de concevoir les objets de modèle appropriés pour le modèle de base de données. C'est à dire. Utilisez une propriété long pour un champ Bigint , un BigDecimal Propriété pour un décimal champ, etc. Vous pouvez trouver un aperçu des mappages par défaut dans Cette page .

dans "PLAIN VANILLA" JDBC, vous devriez au moins utiliser préparétstatement méthodes permettant de composer la requête SQL plutôt que de concaténer en tant que chaîne. Il y a beaucoup de méthodes SETXXX () pour le type de données spécifique, telle que SetLong () , SetBigDecimal () , etcetera. Le PredyStatement ne facilite pas uniquement les objets Java Formilworthy comme Date et INPUTStream dans une requête SQL, mais cela empêche également le code de Injection SQL Attaques . Vous pouvez en apprendre davantage sur Paretstatement dans le Tutoriel Sun JDBC et vous pouvez trouver un tutoriel de base de Kickoff Dao dans Cet article .


1 commentaires

tnx va commencer à regarder tout cela