es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Conectándose a la base de datos MySQL como una fuente de datos en una aplicación web de Eclipse.

Puedo conectarme a la base de datos h2 embebida, pero estoy confundido acerca de la sintaxis correcta para conectarme a una base de datos mysql llamada ‘test1’. Por ejemplo, me gustaría saber qué sustituir en los archivos pom.xml, web.xml y persistence.xml en lugar de la terminología h2.
Estoy utilizando mysql 5.7.27, con mysql-connector-java-8.0.27.jar en la carpeta src/main/resources/META-INF/lib. Mi URL es jdbc:mysql://localhost:3306/test1

pom.xml: qué utilizar para groupId y artifactId

<dependency>
    <groupid>com.h2database</groupid>
    <artifactid>h2</artifactid>
    <version>1.4.200</version>
</dependency>

web.xml: qué utilizar para name y class

<data-source>
    <name>java:global/DataSourceName</name>
    <class-name>org.h2.jdbcx.JdbcDataSource</class-name>
    <url>jdbc:h2:mem;DB_CLOSE_DELAY=-1</url>
</data-source>

persistence.xml: ¿esto necesita cambiar?

<persistence-unit name="PersistenceUnitName" transaction-type="JTA">
    <jta-data-source>java:global/DataSourceName</jta-data-source>
    <properties>
        <property name="javax.persistence.schema-generation.database.action" value="none"></property>
    </properties>
</persistence-unit>
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para conectarse a una base de datos mysql llamada ‘test1’ en lugar de la base de datos h2 embebida, se deben realizar los siguientes cambios:

    pom.xml – Reemplazar la dependencia existente de h2 con la dependencia de mysql-connector-java. Usar el siguiente groupId y artifactId:

    <dependency>
      <groupid>mysql</groupid>
      <artifactid>mysql-connector-java</artifactid>
      <version>8.0.27</version>
    </dependency>
    

    web.xml – Actualizar la configuración del origen de datos para usar el controlador de mysql y la URL. Usar el siguiente nombre y clase:

    <origen-de-datos>
      <nombre>java:global/NombreDelOrigenDeDatos</nombre>
      <nombre-de-clase>com.mysql.cj.jdbc.MysqlDataSource</nombre-de-clase>
      <url>jdbc:mysql://localhost:3306/test1</url>
      <usuario>nombre_de_usuario</usuario>
      <contraseña>contraseña</contraseña>
    </origen-de-datos>
    

    persistence.xml – Actualizar jta-data-source para utilizar el NombreDelOrigenDeDatos configurado en web.xml:

    <unidad-de-persistencia nombre="NombreDeUnidadDePersistencia" tipo-de-transacción="JTA">
      <jta-data-source>java:global/NombreDelOrigenDeDatos</jta-data-source>
      <propiedades>
        <propiedad nombre="javax.persistence.schema-generation.database.action" valor="none"></propiedad>
      </propiedades>
    </unidad-de-persistencia>
    

Comments are closed.