Con la dichiarazione regolare (solo istruzione) posso inserire java enum nelle query e funziona perfettamente. Con una dichiarazione preparata non posso farlo?enum Java a mysql enum nella dichiarazione preparata
risposta
MySQL tratta il tipo di enum come stringa per le query. Così si dovrebbe essere in grado di utilizzare PreparedStatement.setString()
metodo e passare il nome enum ad esso:
preparedStatement.setString(1, MY_ENUM.name());
Ciò presuppone, ovviamente, che i nomi per la tua Java e MySQL enumerazioni partita.
Avviso:name()
è stato scelto al posto di toString()
come, secondo la documentazione:
nome()Questo metodo è stato progettato principalmente per l'uso in situazioni particolari in cui la correttezza dipende su come ottenere il nome esatto , che non varierà da versione a versione.
Se preferisci a conservarlo come intero (che è più spazio e prestazioni amichevole) si potrebbe fare questo:
preparedStatement.setInt (1, myEnum.ordinal());
Ciò fornisce la semplicità, tuttavia, è necessario essere sicuri di non modificare l'ordine degli elementi enumerazione nel codice in quanto ciò interromperà la loro relazione con ciò che è memorizzato nel db.
- 1. Swift - utilizzando enum nella dichiarazione switch
- 2. Java Enum find enum
- 3. Enum introdotto usando la dichiarazione
- 4. Convertire da enum ordinal a enum tipo
- 5. Forward dichiarazione di enum nidificato
- 6. metodo enum Java a Delphi
- 7. MySQL enum vs. set
- 8. Java valore enum personalizzato per enum
- 9. MySQL enum con hibernate
- 10. Overumill enum di Java?
- 11. Mysql Seleziona valori enum
- 12. Hibernate, MySQL, Enum e NULL
- 13. Enum in enum
- 14. Contesto statico nella definizione enum
- 15. Java Enum: metodi di implementazione dopo la dichiarazione?
- 16. Freemarker: un enum in una dichiarazione if
- 17. Confronta valori enum Java
- 18. Estensione di Java Enum
- 19. Java: enum toString()
- 20. enum gerarchica in Java
- 21. Java enum senza istanze
- 22. MySQL Enum vantaggio di prestazioni?
- 23. annotazioni per Java enum Singleton
- 24. Dichiarazione di enum all'interno di una classe
- 25. Enum of Enum è NULL
- 26. Come accedere a Java Enum in ColdFusion?
- 27. Imposta valore su Enum - Java
- 28. Questa dichiarazione enum è conforme allo standard?
- 29. Enum contro enum fortemente tipizzato
- 30. implementazione enum all'interno dell'interfaccia - Java