2009-11-24 13 views
12

Una cosa que me encanta de .NET es la capacidad de tener un archivo de base de datos junto con el proyecto. Sé que usando una base de datos SQLite, esto se puede hacer, pero ¿alguien logró esto con un back-end de base de datos MySQL?Java, MySQL: ¿Hay alguna manera de insertar un servidor MySQL con un programa Java?

Así, por ejemplo, si ejecuto un programa java, debería poder iniciar su propio mini servidor MySQL y manipular datos. Entonces, esencialmente, quiero el mismo flujo que con un SQLite, pero necesito el poder de MySQL.

+1

Apache Derby (JavaDB) es extremadamente fácil de incrustar en una aplicación java y funciona qu ite bien – ChadNC

+1

Gracias ... Lo investigaré. Tengo muchos scripts que actualmente funcionan con MySQL. ¿Sabría usted si es bastante fácil convertir JavaDB en una base de datos MySQL? – Legend

+1

HSQLDB también es fácil, para el caso. Pero la pregunta es sobre MySQL :) – Bozho

Respuesta

15

Una búsqueda rápida muestra esto: MySQL Connector/MXJ - para incrustar servidor MySQL en aplicaciones Java en la página de MySQL en Descargas:

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

+3

Para cualquier otra persona que lea esta respuesta mucho después de que se le haya otorgado, MXJ detuvo el desarrollo en MySQL versión 5.1.40, Connector/J versión 5.0.11. Ver http://dev.mysql.com/doc/connector-mxj/en/connector-mxj-versions.html –

+0

@PeterDolberg ¿hay paquetes alternativos que logren ejecutar MySQL (embedded) mientras se prueban JUnit? – TheConstructor

6

Parece que usted quiere una base de datos integrada. Si bien MySQL Connector parece agradable, lanzará un proceso de servidor por separado. Si desea que el servidor de base de datos se ejecute en la máquina virtual Java, existen varias bases de datos incorporadas para Java.

Los dos que he visto aplicar la mayoría son:

  1. Apache Derby/JavaDB
  2. HSQL
+5

He tenido experiencias terribles dependiendo de HSQL para probar un sistema de producción que usa Oracle. Las diferencias en los resultados de comportamiento en hacks específicos de prueba o peor, casos de prueba nunca escritos porque era demasiado problema. Creo que es más importante que nada crear un entorno de prueba lo más cercano posible al real. El uso de algunos recursos adicionales del sistema suele ser una compensación muy aceptable. – oksayt

7

Para futuras referencias a cualquiera que quiera incrustar MySQL, hay una utilidad de los chicos de mysql que hacen esto http://downloads.mysql.com/archives/c-mxj/

+1

Tenga en cuenta que el desarrollo de MySQL Connector/MXJ se ha descontinuado. –

+0

¿Y cuál es la alternativa para esto? ¿Hay alguna solución que pueda integrarse libremente? –

Cuestiones relacionadas