Soy nuevo en JDBC y estoy intentando hacer una conexión a una base de datos MySQL. Estoy usando el controlador Connector / J, pero no puedo encontrar la cadena de conexión JDBC para mi Class.forName()
método.
mysql
jdbc
connection-string
BalusC
fuente
fuente
Class.forName()
no espera una cadena de conexión JDBC, sino el nombre de la clase del controlador JDBC.Respuestas:
Suponiendo que su conductor está en el camino,
fuente
Aquí está la documentación:
https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html
Una cadena de conexión básica se ve así:
La cadena class.forName es "com.mysql.jdbc.Driver", que puede encontrar (editar: ahora en la misma página).
fuente
useOldAliasMetadataBehavior=true
,useUnicode=true
,characterEncoding=UTF-8
De los documentos de Oracle.
host: puerto es el nombre de host y el número de puerto de la computadora que aloja su base de datos. Si no se especifica, los valores predeterminados de host y puerto son 127.0.0.1 y 3306, respectivamente.
base de datos es el nombre de la base de datos a la que conectarse. Si no se especifica, se establece una conexión sin una base de datos predeterminada.
failover es el nombre de una base de datos en espera (MySQL Connector / J admite failover).
propertyName = propertyValue representa una lista de propiedades opcional, separada por "signos". Estos atributos le permiten indicarle a MySQL Connector / J que realice varias tareas.
fuente
useOldAliasMetadataBehavior=true
,useUnicode=true
,characterEncoding=UTF-8
jdbc:mysql://[host][:port]/[database]?useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=UTF-8
Es muy simple :
jdbc:mysql://<hostname>:<port>/<dbname>?prop1
etc, donde<hostname>
y<port>
se dan en la tab.It conexión serán en su mayor sea localhost: 3306.<dbname>
se encontrarán en Sistema pestaña Perfil en Windows Nombre del servicio. El valor predeterminado será principalmente MySQL5<x>
donde x es el número de versión, por ejemplo. 56 para MySQL5.6 y 55 para MySQL5.5, etc. También puede especificar su propio nombre de servicio de Windows para conectarse.fuente
Para Mysql, la cadena de conexión del controlador jdbc es com.mysql.jdbc.Driver . Utilice el siguiente código para conectarse: -
fuente
actualización para mySQL 8:
String jdbcUrl="jdbc:mysql://localhost:3306/youdatabase?useSSL=false&serverTimezone=UTC";
fuente
Como la respuesta parece que ya ha sido respondida, no hay mucho que agregar, pero me gustaría agregar una cosa a las respuestas existentes. Esta fue la forma de cargar la clase para el controlador JDBC para mysql
Pero esto ahora está en desuso. La nueva clase de conductor es ahora
Además, el controlador se registra automáticamente a través del SPI y la carga manual de la clase de controlador generalmente no es necesaria.
fuente
3306
es el puerto predeterminado para mysql.Si está utilizando Java 7, no es necesario ni siquiera agregar el
Class.forName("com.mysql.jdbc.Driver").newInstance ();
declaración. La Gestión automática de recursos (ARM) se agrega en JDBC 4.1, que viene de forma predeterminada en Java 7.El formato general de una URL JDBC para conectarse a un servidor MySQL es el siguiente, con los elementos entre corchetes ([]) siendo opcionales:
fuente
protocolo // [hosts] [/ base de datos] [? propiedades]
Si no tiene ninguna propiedad ignórela, entonces será como
jdbc: mysql: //127.0.0.1: 3306 / prueba
jdbc: mysql es el protocolo 127.0.0.1: es el host y 3306 es el número de puerto prueba es la base de datos
fuente
depende del servicio que esté utilizando.
si usa MySQL Workbench, sería algo como esto:
jdbc: mysql: // "host": "número de puerto" /
Y, por supuesto, será diferente si usa SSL / SSH.
Para más información, siga el enlace oficial de Jetbriens (idea intelliJ):
Conectando a una base de datos #
https://www.jetbrains.com/help/idea/connecting-to-a-database.html
Configurando conexiones de base de datos #
https://www.jetbrains.com/help/idea/configuring-database-connections.html
fuente