2009-11-24 8 views
12

Una cosa che mi piace di .NET è la possibilità di avere un file di database insieme al progetto. So che usando un database SQLite, questo può essere fatto, ma qualcuno lo ha fatto con un back-end del database MySQL?Java, MySQL: esiste un modo per incorporare un server MySQL con un programma Java?

Ad esempio, se eseguo un programma java, dovrebbe essere in grado di avviare il proprio mini server MySQL e manipolare i dati. Quindi, in sostanza, voglio lo stesso flusso di un SQLite ma ho bisogno della potenza di MySQL.

+1

Apache Derby (JavaDB) è estremamente facile da incorporare in un'applicazione java e funziona qu bene. – ChadNC

+1

Grazie .. Approfondirò. Ho un sacco di script che funzionano con MySQL al momento. Sapresti se è abbastanza facile convertire JavaDB in un database MySQL? – Legend

+1

HSQLDB è anche facile, per quella materia. Ma la domanda è su MySQL :) – Bozho

risposta

15

Una rapida ricerca mostra questo: MySQL Connector/MXJ - per l'incorporamento server MySQL nelle applicazioni Java nella pagina di MySQL Downloads all'indirizzo:

http://dev.mysql.com/downloads/

+3

Per chiunque altro abbia letto questa risposta molto tempo dopo averlo dato, MXJ ha interrotto lo sviluppo su MySQL versione 5.1.40, Connector/J versione 5.0.11. Vedi http://dev.mysql.com/doc/connector-mxj/en/connector-mxj-versions.html –

+0

@PeterDolberg ci sono pacchetti alternativi per il raggiungimento di un MySQL (embedded) da eseguire durante il test di JUnit? – TheConstructor

6

Sembra che si desidera un database incorporato. Mentre MySQL Connector sembra bello, avvierà un processo server separato. Se si desidera eseguire il server del database nella macchina virtuale Java, esistono diversi database incorporati per Java.

I due che ho visto usare la maggior parte sono:

  1. Apache Derby/JavaDB
  2. HSQL
+5

Ho avuto esperienze terribili a seconda di HSQL per testare un sistema di produzione che utilizza Oracle. Le differenze di comportamento si traducono in hack specifici del test o in casi di test peggiori, mai scritti perché erano troppo problemi. Penso che sia più importante di ogni altra cosa creare un ambiente di test il più vicino possibile alla cosa reale. L'utilizzo di alcune risorse di sistema aggiuntive è di solito un compromesso accettabile. – oksayt

7

Per riferimento futuro per tutti coloro che cercano di incorporare mysql, esiste un'utility da i ragazzi mysql che fa questo http://downloads.mysql.com/archives/c-mxj/

+1

Si noti che lo sviluppo di MySQL Connector/MXJ è stato interrotto. –

+0

E qual è l'alternativa per questo? c'è qualche soluzione che può essere incorporata liberamente? –

Problemi correlati