Você está na página 1de 17

Hola, la conexion remota la necesitas para uns sistema q estes desarrollando?

Y la conexion remota es por intranet o internet?


Si es de forma local (intranet) puedes utilizar este codigo:

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.*;
public class conectar_BD {
public static String url = "jdbc:mysql//192.168.1.115/respaldo"; //
Ip_de_la_maquina/nombre_de_la_base_de_datos
public static String login = "root";
public static String password = "masterkey";
public int Filas=0, F=0;
public int Col=0, C=1, Ayuda=0;
public int util=0;
public Statement stm;
public ResultSet rs;
public Object elemento;
public static Connection conn = null;
public void conectar() {
Connection conn = null;
try {
Class.forName("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection(url, login, password);
if (conn != null)
{
System.out.println("Conexin a base de datos "+url+" ... Ok");
}
}
catch(SQLException ex) {
System.out.println("Hubo un problema al intentar conectarse con la base de datos "+url);
System.out.println(ex);
}
catch(ClassNotFoundException ex) {
System.out.println ("La clase no fue encontrada");
System.out.println(ex);
}
}
public static void main (String args[]){ //Aqui solo es para ver si la conexion se realiza
conectar_BD conec = new conectar_BD();
conec.conectar();
}
}
Nota: Tienes q instalar una libreria q se llama mysql-conector-java-v.x.x.x.jar
buscala en google
Ojala y te sirva, si tienes dudas o algo, escribeme o mandame un correo
a doko_1988_conde@live.com.mx
Suerte y no te desesperes!!!

--------}}

Para acceder remotamente a mysql hazlo con phpmyadmin.


Asegurate peimero que esa mqina tiene el apache y el phpmyadmin estn correctamente
instalados.
Siempre pdire usuario de mysql y contrasea

1. Estando trabajando directamente en la maquina a la cual se quiere acceder


Deberas poder entrar desde un navegador con la direccion http://localhost/phpmyadmin

2. Estas tratando acceder desde otra computadora


En este caso hay que tomar en cuenta si te encuentras en la misma red o en una ubicacion fsica
distinta
2.1 Si estas en la misma red
Simplemente desde el navegador coloca la la direccion ip de la mquina a donde quieres entrar
http://192.168.x.x/phpmyadmin

2.2 Desde una ubicacin distinta


En este caso la mquiina a donde se quiere acceder debe terner el cortafuegos abierto desde su
proveedor de servicios para poder acceder a ella traves de la ip

2.1 Si la mquina esta conectada directamente a internet accedes a mysql por:


http://ip_de_la_maquina/phpmyadmin

2.2 Si la mquina esta conectada a internet a traves de una red interna cion cortafuegos accedes a
mysql por:
http://ip_de_la_maquina:puerto/phpmyadmin

Por supuesto sustituyes ip_de_la_maquina y puerto por sus valores correspondientes

JDBC: Conexin a Bases de datos Mysql


Buenas amigos, en este tutorial vamos a hablar de uno de los temas mas potentes que
tiene java, y a los que a muchos nos interesa, una conexin a una base de datos mysql.
Mencionar que aunque podramos conectar cualquier otro motor de base de
datos (sqlite, oracle, access, sqlserver....) yo lo voy a realizar con mysql, ms que nada
porque ya lo tengo instalado. As pues, explicaremos:
Conectar nuestra aplicacin java a la base de datos.
Recorrer las tablas de la base de datos.
*ESTE CDIGO ES PARA JAVA SE, NO FUNCIONA PARA ANDROID. SI QUIERES
HACER UNA CONEXIN MYSQL CON ANDROID PINCHA AQU

Bien, no voy a explicar en este tema como montar un servicio mysql, ya que me quedara
demasiado extenso, ms adelante es posible que me anime, pero por el momento vamos
a ver solamente el cdigo necesario para conectarnos a nuestra base de datos y recorrer
sus tablas. Podis buscar en Google como montar un servicio mysql, hay tutoriales a
patadas.

Lo primero de todo es descargarnos la librera o conector para poder trabajar


con mysql:

[descargar conector]

Es imprescindible para poder conectar nuestra base de datos. As pues, para cada tipo de
motor de base de datos necesitaremos su librera o conector, lo cual, normalmente, se
ofrece en la pgina principal del fabricante que utilicemos. Es algo muy comn.

una vez descargado el conector, lo agregamos en nuestro proyecto, para ello hacemos lo
siguiente:

Pulsamos sobre nuestro proyecto con el botn derecho del ratn y pulsamos, al
final de la lista desplegable, en propiedades.
Una vez hecho esto se nos abrir una ventana donde elegiremos la opcin "va de
construccin":
En la siguiente ventana que se nos abre, elegiremos la pestaa "Biblioteca" y
pulsaremos sobre la opcin"Aadir JAR externo...", donde nos permitir elegir
nuestro conector descargado:
Una vez elegido nuestro conector, se nos mostrar en la va de construccin y
habremos agregado a nuestro proyecto una nueva librera.
Bien, ya tenemos nuestra librera dentro de nuestro proyecto. Antes de nada me gustara
agregar que voy a trabajar sobre una base de datos llamada empresa con una tabla
llamada empleados. Dicha tabla constara de 3 columnas:
ID
Nombre
Departamento

Bueno, ahora lo que nos toca crear es una clase capaz de establecer una conexin. Esta
clase constar de 4 atributos:
private static String servidor: Aqu colocaremos la ruta de nuestra base de
datos.
private static String user: El nombre de usuario de mysql
private static String pass: La clave de usuario de mysql
private static String driver: Nuestra librera mysql.
Y crearemos un objeto de la clase Connection del paquete java.sql para crear
la conexin:
private static Connection conexion: Nos devuelve la conexin.
create table datos(

codigo varchar(20) not null primary key,

tipoO varchar(15),

nombre varchar(60) not null,

descrip varchar(20) not null,

numeroO int not null AUTO_INCREMENT,

fecha date,

rif varchar(15),

monto double,

total double,

concepto text

);

Como veis, establezco la ruta del servidor, utilizo el usuario y el pass que viene por
defecto en mysql, indico la posicin deldriver y creo el objeto Connection.

En el constructor levantaremos la conexin y la obtendremos, para ello seguiremos 2


sencillos pasos:

1. Levantar el driver.
2. Establecer la conexin.
Bien, con el mtodo esttico de la clase "class" levanto el driver que le paso por
argumentos:
Class.forName(driver);
Con el objeto Conecction obtengo la conexin por medio del mtodo
esttico getConnection de la clase DriverManager, pasndole por argumentos
el servidor, el usuario y el pass:
conexion=DriverManager.getConnection(servidor,user,pass);
Finalmente creamos un mtodo para obtener el objeto de la clase Connection con la
conexin establecida:

Aqu os dejo la clase entera.


Bien, esta clase establece la conexin, ahora vamos a crear otra clase que se encargue
de:
Insertar valores
Seleccionar valores
Borrar valores
Modificar valores
Nuestra clase tendr 5 atributos:
1. Un objeto de la clase escaner para leer desde teclado.
2. Un objeto Connection para obtener la conexin a la base de
datos.
3. Un objeto tipo String para el nombre.
4. Un objeto de tipo String para el departamento.
5. Una variable de tipo int para las opciones del men.

Bueno, ahora crearemos una sentencia condicional switch, dentro de un bucle do/while,
para que vaya dndonos las opciones que queramos realizar hasta salir de la aplicacin, y
todo esto, dentro del mtodo MAIN:
Bueno, aqu podis ver las opciones que tendr nuestro men:

Insertar
Modificar
Eliminar
Mostrar
Salir
En el blucle do/while establecemos que no se saldr del men hasta que la opcin 5 sea
elegida. Ahora vamos a ir explicando los mtodos realizados para completar todas las
funciones del men:

INSERTAR:
Por pasos:
Cargamos nuestra conexin.
conexion=new Conexion();
Pasamos al objeto Connection de esta clase la conexin de la clase
"Conexion" por medio de nuestro mtodo getConnection():
Connection con=conexion.getConnection();
Creamos un objeto de la clase Statement, la cual ser la encargada de
procesar la sentencia sql que le pasemos e interactuar con nuestra base de datos.
Statement st;
Pedimos los datos por pantalla y por medio del objeto teclado de la
clase Scanner, leemos los datos que deseemos agregar. Una cosa antes de continuar, es
que, aunque mi tabla consta de 3 campos, yo tengo establecido el primero (ID)
como primary key, y he establecido que se auto-incremente, por lo tanto no tengo que
introducirselo.
Una vez introducido los datos, creamos la sentencia sql para insertarlos en
nuestra base de datos.
String sql="insert into empleados(nombre,departamento)
values ('"+nombre+"','+departamento+"')";
Hay que darse cuenta que los "values" que le pasamos han de
estar entre comillas simples ''.
Establecemos la comunicacin entre nuestra aplicacin java y la base de
datos:
st=con.createStatement();
Le indicamos que ejecute la actualizacin de la tabla y le pasamos por
argumentos nuestra sentenciasql:
st.executeUpdate(sql);
Cerramos las conexiones, en orden inverso a su apertura:
st.close();
con.close();
Con esto ya podremos insertar filas en nuestra base de datos.

Modificar:

Por pasos:
Cargamos nuestra conexin.
conexion=new Conexion();
Pasamos al objeto Connection de esta clase la conexin de la clase
"Conexion" por medio de nuestro mtodo getConnection():
Connection con=conexion.getConnection();
Creamos un objeto de la clase Statement, la cual ser la encargada de
procesar la sentencia sql que le pasemos e interactuar con nuestra base de datos.
Statement st;
Pedimos por teclado el nmero de ID del registro a modificar y se lo
asignamos a una variable tipo int llamada "n", posteriormente volvemos a pedir el nombre
y el departamento para modificarlos.
Creamos nuestra sentencia sql:
String sql="update empleados set nombre='"+nombre+"',
departamento='"+departamento+"' where id="+n;
Establecemos la comunicacin entre nuestra aplicacin java y la base de
datos:
st=con.createStatement();
Le indicamos que ejecute la actualizacin de la tabla y le pasamos por
argumentos nuestra sentencia sql:
st.executeUpdate(sql);
Cerramos las conexiones, en orden inverso a su apertura:
st.close();
con.close();
Esta vez le he puesto una sentencia "if" para que me avise de si se modifico con xito o
no. Con esto podremos modificar nuestros registros.

Eliminar:

Lo mismo que anteriormente:


Cargamos nuestra conexin.
conexion=new Conexion();
Pasamos al objeto Connection de esta clase la conexin de la clase
"Conexion" por medio de nuestro mtodo getConnection():
Connection con=conexion.getConnection();
Creamos un objeto de la clase Statement, la cual ser la encargada de
procesar la sentencia sql que le pasemos e interactuar con nuestra base de datos.
Statement st;
Introducimos por teclado el registro a eliminar.
Creamos nuestra sentencia sql:
String sql="delete from empleados where id="+n;
Establecemos la comunicacin entre nuestra aplicacin java y la base de
datos:
st=con.createStatement();
Le indicamos que ejecute la actualizacin de la tabla y le pasamos por
argumentos nuestra sentencia sql:
st.executeUpdate(sql);
Cerramos las conexiones, en orden inverso a su apertura:
st.close();
con.close();

Llegados a este punto, ya te deberas de dar cuenta de que lo nico que cambio es la
sentencia sql, el resto es uncopy/paste, para que veas que no es tan complicado como
parece.

Mostrar:
Esta vara un poco con respecto a las otras:
Cargamos nuestra conexin.
conexion=new Conexion();
Pasamos al objeto Connection de esta clase la conexin de la clase
"Conexion" por medio de nuestro mtodo getConnection():
Connection con=conexion.getConnection();
Creamos un objeto de la clase Statement, la cual ser la encargada de
procesar la sentencia sql que le pasemos e interactuar con nuestra base de datos.
Statement st;
Creamos un objeto de la clase ResultSet que ser la encargada de
devolvernos los resultados de los registros:
ResultSet rs;
Creamos nuestra sentencia sql:
String sql="select * from empleados";
Establecemos la comunicacin entre nuestra aplicacin java y la base de
datos:
st=con.createStatement();
Le pasamos al objeto de ResultSet el resultado de ejecutar la
sentencia sql:
rs=st.executeQuery(sql);
En este caso no actualizamos la tabla (executeUpdate()), sino que
realizamos una consulta (executeQuery());
Por medio de un bucle while vamos recorriendo valores mientras
existan (rs.next()) y por medio de los mtodos getInt y getString obtenemos los valores
de las diferentes columnas, tened en cuenta de que le tenemos que pasar el nmero de
columna:
while (rs.next){
System.out.println("ID:"+rs.getInt(1));
System.out.println("Nombre: "+rs.getString(2));
System.out.println("Departamento: "+rs.getString(3));
System.out.println("**************************");
}
Cerramos las conexiones, en orden inverso a su apertura:
rs.close();
st.close();
con.close();
Bien, con esto doy por terminada la entrada, mencionar que esto es algo muy bsico del
JDBC pero suficiente para empezar a explorarlo. Un saludo a todos.

Você também pode gostar