Crear una conexión de base de datos desde JAVA

¿Cómo puedo crear una conexión de base de datos desde JAVA?

No se como crear la conexión. Tal vez alguien podría darme la respuesta. El SGBD que ocupo es MySQL.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

JDBC

Necesitas el driver de JDBC para MySQL, de entrada. Luego de eso, pues casi no estas dando información de cómo necesitas la conexión, en qué contexto, etc. Porque para un programa que va a conectarse, hacer operaciones y luego termina, es suficiente con crear la conexión manualmente a partir del driver de JDBC, pero en cualquier otra situación lo mejor es crear un DataSource (también a partir del driver) y luego a ese DataSource le pides conexiones. Si es para un ambiente de servidor lo mejor es que tengas un pool de conexiones, que puedes armarlo con el proyecto DBCP de Jakarta (Jakarta es un grupo de proyectos de Apache para Java).
Tiene mucho que no hago una conexión manualmente pero busca info acerca de JDBC y la manera de conectarte es la misma sin importar qué base de datos usas, lo que cambia es el driver que debes tener en tu classpath y el URL de conexión, que ese te lo indica la documentación del driver de tu base de datos.

Given the choice of dancing pigs and security, users will choose dancing pigs, every single time. - Steve Riley

soluciones

Mira si de plano eres un novato, te recomiendo empezar a estudiar JDBC , es un api para manipular base de datos, ya despues haces usos de herramientas y cuantas cosas quieras, personalmente implemente un paquete para manipular base de datos y en cada aplicacion la ocupo pero como te digo tenes que conocerel api JDBC
aqui te pongo un ejemplo sencillo

import java.sql.Connection;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
*
* @author MARCOS ROBERTO
*/
public class Test {
public static void main(String args[]) throws ClassNotFoundException, SQLException
{
//el nombre del conector
String m_sconector = "org.postgresql.Driver";
//la direccin de la base de datos varia de acuerdo al manejador
String m_surl = "jdbc:postgresql://localhost:5432/Ejemplo1";
//name del usuario de la base de datos
String user = "postgres";
//contrase;a del usuario de la base de datos
String password = "betito";

//obtienes el nombre de la clase del conector
Class.forName(m_sconector);
//creo un objeto Connection (el que se encarga de conectar a la bd)
Connection conexion;
//solicito la conexion le paso unos argumentos, existe una version sobrecargada
//de este metodo pero usa por lo mientras este
conexion = DriverManager.getConnection(m_surl, user, password);
//un statement es una objeto que puede enviar sentencias sql,
Statement sentencia;
//creo el objeto Statement
sentencia = conexion.createStatement();
//aqui envio una simple sentencia, logicamente en una aplicacion de la industria
//no vas hacer este tipo de cosas esto es solo un ejemplo
sentencia.execute("insert into usuario values('0002','panfilo')");

System.out.println("nos hemos conectados a la bd");

//en caso de que te lanze excepciones tenes algun error, estate pendiente
//de las excepciones pues son una referencia del problema
//tambien tienes que agregar el conector a la librerias
//te recomemiendo que uses un IDE por ejemplo netbeans

}

}

es para postgres si lo quieres para mysql seria algo asi

//el nombre del conector
String m_sconector = "com.mysql.jdbc.Driver";
//la direccin de la base de datos varia de acuerdo al manejador
String m_surl = "jdbc:mysql://localhost/prueba";


en este blog explico paso a paso como agregar el driver a las librerias usando netbeans
Saludos

Conexicion con Java con Sql Server 2005

public void conectar()
{

try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
"databaseName=NOMBRE DE LA BASE DE DATOS ;user=sa;password=tuclave;";
conexion = DriverManager.getConnection(connectionUrl);
} catch (SQLException ex) {
System.out.println("SQL Exception: "+ ex.toString());
} catch (ClassNotFoundException cE) {
System.out.println("Class Not Found Exception: "+ cE.toString());
}

}

NOTA:
Este codigo es para Sql server 2005, ya anteriormente habias de tener configurado con el driver que te permirte realizar la conexion, pero java con mysql ya tiene el driver asi que solo cambias :

String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
"databaseName=NOMBRE DE LA BASE DE DATOS ;user=sa;password=tuclave;";

espero que solucione alguna duda, nos vemos.

dudas con la conexion a sql

he logrado conectar java con sql server 2005 que esta instalado en mi pc el problema es cuando intento conectar el mismo codigo a una base de dato que esta en la red como hago es full importante ya que necesito generar un componente y estoy quedado con eso

Conexión a una base de datos remota

Espero poder ayudarte. Para conectarte a una base de datos que no es local (remotamente) debes considerar lo siguiente: Primero debes permitir a la base de datos el acceso remoto configurándolo, en MYSQL Server lo consigues con el siguiente código en la línea de consola de mysql:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'tu_user'@'%'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

Después, debes de abrir el puerto 3306 que es el puerto predeterminado para las bases de datos, esto lo consigues agregando una exclusión en el firewire de windows.

Ahora hacer la misma conexión de base de datos con el JDBC y agregas la dirección del servidor, la cual puede ser alguna lap o computadora común o un servidor.
Espero y te halla servido la información.

Imagen de ezamudio

DBA

habla con el DBA o el encargado de esa base de datos a la que te quieres conectar, para que te den la IP y puerto (tal vez sepas la IP pero no sabes si cambiaron el puerto default, o tal vez no está configurada para aceptar conexiones remotas como dicen, aunque siendo un servidor de base de datos, no tendría mucho caso que no acepte conexiones remotas, a menos que ya sea un servidor en producción y tenga un firewall o le configuraron que solamente acepte conexiones desde ciertas IP's o no tienes el usuario correcto para entrar, etc).

Una situacion es muy

Una situacion es muy dificil, porque mis ficheros son corrpompidos. Mi amigo asesorò un programa y este instrumento determinò todas complejidades y puede arreglar todas situaciones rapidamente - reparar bases de datos sql.

DUDA RESPOCTO AL POOL DE CONEXIONES

HABLANDO DEL POOL DE CONEXIONES, alguien me podra decir como puedo conectar una bd mysq con struts2, se agradece cualquier solucion.....gracias.

Java web

Hola amigos, en estos momentos me encuentro iniciando un proyecto web y uno de los requisitos es que este hecho en java (en lo cual soy un novato), rapidamente me enfrente con mi primer problema y es precisamente hacer la conexion con un servidor de bases de datos para poder hacer consultas, por internet he visto que se necesita del conector que mencionan JDBC, mi pregunta es ¿la manera de utilizar el conector es la misma en java para escritorio que para web? o si es diferente como es que se hace la conexion? cualquier ayuda que me puedan dar me va a ser de mucha utilidad, de antemano muchas gracias y saludos.

Hola

Actualmente también desarrollo un proyecto para un instituto y estoy usando JAVA con MySQL que, en lo personal, con respecto a BD es lo mejor si te orientas a web pues el SQL -SERVER es tan potente como pesado. En JAVA yo creo una clase Conexion.java

package DataBase;
import java.sql.Connection;
import java.sql.DriverManager;

public class Conexion {

public static Connection conectar(){
Connection cn = null;
try{
Class.forName("com.mysql.jdbc.Driver");
cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/cftm","root","");
}
catch(Exception e){

}
return cn;
}
}

Y en tu clase principal haces lo siguiente:

Importas el paquete java.sql.*; y DataBase.*;

Crear una variable de tipo Connection e instancias el método estático conectar de la clase conexión

Connection cn = Conexion.conectar();

En lo personal opino que para hacer sistemas web deberías usar un LENGUAJE ORIENTADO A SERVIDORES (WEB) como PHP, ASP, JSP etc. Esta es una perspectiva personal pues programo en PHP, actualmente estoy que le entro al JAVA, y te puedo decir que el JAVA es muy bueno en la web con sus APPLETS pero si programas en PHP y junto con él implementas otros lenguajes como JAVASCRIPT, AJAX(no es un lenguaje), CCS creeme que se lo lleva de encuentro al JAVA.

P.D: Es una perspectiva personal.