Si eres un programador y desarrollas tus aplicaciones en Java seguramente necesitarás conectar una base de datos tipo MySQL a este entorno algún día, bueno, si lo necesitas ahora, he aquí una explicación paso a paso de cómo conectar ambas herramientas.
Obtener lo necesario::
- Primero que nada necesitas tener un servidor MySQL instalado en tu equipo o en su defecto en la máquina que actuará como servidor de bases de datos. Recuerda que MySQL es gratuito y puedes obtenerlo desde aquí.El proceso de instalación es algo en lo que no entraré en detalle, para cualquier duda puedes consultar la documentación oficial que se encuentra en su sitio web.
- Asimismo, debes de tener el NetBeans instalado, de preferencia su última versión estable (al momento de esta publicación es la 5.5.1) que viene con el Java Development Kit (JDK) 1.6, lo anterior puedes obtenerlo desde aquí.
- Una vez que tengas ambas herramientas instaladas necesitaras el driver o conector a la base de datos de MySQL que puedes obtener desde aquí.
C:\Archivos de programa\Java\jdk1.6.0_01\jre\lib\ext
Ya que lo hayas copiado ahora sí abre el NetBeans y espera a que cargue.
Configurar NetBeans::
Una vez que hayas abierto el NetBeans localiza la sección de Runtime o Tiempo de ejecución que se localiza en el lado izquierdo de la pantalla, como se muestra a continuación:
- Da un clic derecho sobre Drivers y selecciona New Driver.
- En la ventana que aparece da clic en el botón de Add o Agregar y busca el archivo .jar que descargaste anteriormente, el mismo que copiaste dentro de la carpeta del JDK.
- Una vez hecho lo anterior da clic en el botón de Ok o Aceptar.
Crear y probar una conexión::
Dentro de la sección de Runtime o Tiempo de ejecución > Databases o Bases de datos > Drivers da un clic derecho sobre MySQL (Connector/J driver) y selecciona Connect Using o Conectar usando... para que aparezca la pantalla de configuración de la conexión como se muestra a continuación:
Posteriormente escribe el nombre de usuario para accesar a la base de datos y la contraseña respectivamente.
Da un clic en el checkbox inferior para que NetBeans recuerde la contraseña durante la conexión.
Si todo se realizó correctamente podrás ver un nuevo elemento debajo del Driver con las especificaciones de la conexión actual, si das un clic en el símbolo '+' que aparece de lado izquierdo del mismo podrás ver las tablas de la base de datos y realizar consultas hacia la misma.
Implementar el código::
Hasta aquí ya hemos establecido la conexión a la base de datos y probado su funcionamiento desde el NetBeans, sin embargo, nos hace falta implementar el código directamente en una aplicación. Para este ejemplo crearemos una clase de nombre Conexion que se podrá reutilizar las veces que sea necesario en cualquier tipo de aplicación Java que requiera conectarse y realizar consultas a una base de datos en MySQL.
Empecemos por el principio...
- Da un clic en el menú de File o Archivo que se localiza en la esquina superior izquierda de la ventana de NetBeans.
- Selecciona la opción de Nuevo Proyecto o New Project, posteriormente en la sección de Categories o Categorías selecciona General y en Projects o Proyectos selecciona Java Application o Aplicación Java y da un clic en Siguiente.
*NOTA: La clase que crearemos funciona con cualquier tipo de proyecto, para fines de este ejemplo utilizamos una aplicación java convencional. - Posteriormente damos un nombre a la aplicación y definimos su ubicación, una vez hecho esto damos clic en el botón de Finish o Finalizar.
- En este momento aparece del lado izquierdo en la pestaña de Projects o Proyectos una especie de árbol jerárquico en el cual tenemos 4 carpetas, al dar clic en el símbolo '+' de la carpeta Source Packages o Paquetes Fuente nos desplegará el único paquete con el cual cuenta nuestra aplicación hasta este punto, dentro de él se crea la clase Main.
- Ahora debemos de dar un clic derecho sobre Source Packages o Paquetes Fuente y dar un nombre al paquete, en mi caso es database. Este paquete contendrá la clase desde la cual estaremos realizando todas las consultas a la base de datos.
- Posteriormente damos un clic derecho sobre el paquete recién creado y seleccionamos Nueva o New > Java Class. Posteriormente le damos el nombre de Conexion y damos clic en el botón de Finalizar o Finish.
- Dentro de la clase Conexion importamos algunas librerías con el siguiente código:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;
- Una vez que tenemos las librerías creamos los métodos a utilizar descritos a continuación:
/** * Método utilizado para recuperar el valor del atributo conexion * @return conexion contiene el estado de la conexión * */ public Connection getConexion() { return conexion; } /** * Método utilizado para establecer la conexión con la base de datos * @return estado regresa el estado de la conexión, true si se estableció la conexión, * falso en caso contrario */ public boolean crearConexion() { try { Class.forName("com.mysql.jdbc.Driver"); conexion = DriverManager.getConnection("jdbc:mysql://host:puerto/baseDatos","usuario","contraseña"); } catch (SQLException ex) { ex.printStackTrace(); return false; } catch (ClassNotFoundException ex) { ex.printStackTrace(); return false; } return true; } /** * *Método utilizado para realizar las instrucciones: INSERT, DELETE y UPDATE *@param sql Cadena que contiene la instrucción SQL a ejecutar *@return estado regresa el estado de la ejecución, true(éxito) o false(error) * */ public boolean ejecutarSQL(String sql) { try { Statement sentencia = conexion.createStatement(); sentencia.executeUpdate(sql); } catch (SQLException ex) { ex.printStackTrace(); return false; } return true; } /** * *Método utilizado para realizar la instrucción SELECT *@param sql Cadena que contiene la instrucción SQL a ejecutar *@return resultado regresa los registros generados por la consulta * */ public ResultSet ejecutarSQLSelect(String sql) { ResultSet resultado; try { Statement sentencia = conexion.createStatement(); resultado = sentencia.executeQuery(sql); } catch (SQLException ex) { ex.printStackTrace(); return null; } return resultado; }
- Finalmente compilamos el archivo localizándolo en el árbol jerárquico del lado izquierdo dando un clic derecho sobre él y seleccionando la opción de Compilar o Compile. Podrás utilizar la clase en cualquier parte de tu proyecto creando una instancia de la misma en el momento que sea necesario.
*TIP: Crea únicamente una vez la conexión con el método crearConexion() desde la clase Main y pasa tu conexión como parámetro a todas las ventanas y módulos de la aplicación que la utilicen.
Si te gustó el artículo y te fue de utilidad te invito a que lo compartas con tus amigos desde los botones sociales (Twitter, Facebook, Google+). Puedes leer más Sobre el Autor o ponerte en contacto conmigo si así lo necesitas.
De igual manera puedes suscribirte al blog para que los nuevos artículos lleguen a tu bandeja de correo o lector de Feeds favorito. No olvides darnos Like en Facebook!
HOLA ESTA MUY INTERESANTE ESTO ESTOY LEYENDO EL MANUAL PERO TENGO UN ERROR EN LA DE CREAR CONEXION jdbc:mysql://localhost:3306/base_de_datos.
ResponderBorrarLAPARTE DE LOCALHOST--->KE DIRECCION DEBE DE IR ESTA PARTE SI TENGO INTSTALADO MYSQL 5.0..KE DEBE LLEVAR ESA PARTE LA DIRECCION DE DONDES ESTA INSTALADO EL SERVIDORRR.NO ENTIENDO..SI ME PRODRIASSS EXPLICAR PORFAVORR...GRACIASS..Y SALUDOS.
Si tu servidor de bases de datos está en tu equipo debe de ser: localhost, la dirección ip de tu computadora o 127.0.0.1 que es equivalente, de lo contrario es la dirección ip de la computadora donde está el servidor de bases de datos. Debes de tomar en cuenta que el puerto 3306 debe de estar abierto en el muro de fuegos del equipo donde se encuentra la DB y en el equipo que quiere acceder a la BD.
ResponderBorrarestoy trabajando con apache derby, la conexion se hace igual como explico en el ejemplo de Mysql? si podria responderme ... gracias de ante mano
ResponderBorrarEn lo personal nunca he trabajado con ese tipo de base de datos, sin embargo sé que existe un driver para la versión 6.0 de netbeans que ha sido probado sin problemas. De cualquier manera las configuraciones con cualquier tipo de BD son idénticas bajo NetBeans, lo único que cambia es el driver y por supuesto la sintáxis en las consultas.
ResponderBorrarhe realizado paso a paso lo que utilizo para Mysql y logre quitar algunos errores que tenia, pero me da un error al momento de crear la conexion, estoy usando la version 6.0 de netbeans.. aqui le envio lo que hice quizas asi me entienda mejor..
ResponderBorrarimport java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.*;
import java.lang.*;
import java.lang.ClassCastException;
import java.lang.ClassNotFoundException;
import java.lang.Exception;
import java.io.*;
/**
*
* @author Administrador
*/
public class conexion {
public Connection getConexion(){
Connection Conexion = null;
return Conexion;
}
public boolean crearConexion () {
try
{
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection Conexion = DriverManager.getConnection("jdbc:derby://localhost:1527/cajah ", "root", "root");
System.out.println("Se conecto a la base de datos");
}
catch(SQLException ex){
ex.printStackTrace();
return false;
}
catch(ClassNotFoundException ex){
ex.printStackTrace();
return false;
}
System.out.println("devolvio verdadero");
return true;
}
ah el error que arroja es este
ResponderBorrarException in thread "main" java.lang.NullPointerException
Esta excepción puede ser lanzada por múltiples causas, la más habitual es que estamos intentando acceder a un miembro (método o atributo) de un objeto para el que todavía no hemos reservado memoria.
ResponderBorrarExisten múltiples formas de reservar memoria en Java, sin embargo la más elemental de todas es la siguiente.
NombreClase nombreObjeto = new NombreClase();
Una vez realizada esta operación podemos acceder a los miembros del objeto. Obviamente los miembros dentro de esta clase deberán ser inicializados, esto se suele hacer en el constructor de la clase.
Te sugiero que analices tu aplicación y verifíques que no estés tratando de acceder a un objeto que no ha sido inicializado ya que el problema por el momento no es directamente con la conexión a la bd.
Gracias.. si faltaba ccrear uncostructor de la clase, ya lo conecte
ResponderBorrarHa sido un gusto ayudarte. Sigue leyendo mi blog. Saludox.
ResponderBorrarHola
ResponderBorrarSoy novato en esto. Gracias por tu ayuda.
Yo arme todo como explicas, incluso agregue en el main la llamada ( new Conexion(); ).
Pude compliar todo sin errores.
Lo que no entiendo en donde y como tengo que poner las SQL (Select, Update, etc.).
Te agradecería si puedes explicarmelo o poner el código.
Muchas Gracias.
Si descargaste el archivo de Conexion.java, solo tienes que agregarlo a tu proyecto y posteriormente importarlo dentro del código fuente donde deseas utilizarlo , una vez hecho esto lo primero es crear la conexión por medio del método crearConexion() y posteriormente las funciones ejecutarSQL(String sql) para los Insert, Delete y Update y ejecutarSQLSelect(String sql) para las sentencias Select.
ResponderBorrarEl parámetro que reciben éstas últimas es la consulta, p. ej.;
.
.
.
String consulta = "SELECT * FROM CLIENTES";
ResultSet resultado = ejecutarSQLSelect(consulta);
.
.
.
Espero que te haya quedado un poquito más claro. Cualquier duda, deja tu comentario.
estimado, me ha servido mucho el codigo, ahora lo que no he podido hacer es lo que mencionas en el TIP, eso de crear una sola vez la conexion y luego pasarla como parametro al resto de la aplicación.
ResponderBorrarPodrias dar un ejemplo de como hacerlo?
gracias nuevamente.
Este comentario ha sido eliminado por el autor.
ResponderBorrarQué tal dj.heysa, te comento que con lo que me refiero al tip en código sería algo así:
ResponderBorrar.
.
.
public static void main (String[] args){
Conexion conexion;
if(conexion.crearConexion()){
//conexion creada exitosamente
new MiClase(conexion);
}else{
//Error al crear la conexion
}
.
.
.
class MiClase{
Conexion conexion;
public MiClase(Conexion con){
conexion = con;
}
.
.
.
}
En este caso, la conexión se crea dentro del método main de una clase, posteriormente se verifica que se haya creado correctamente y en caso de ser así se envía como parámetro a la clase MiClase, la cual la recibe en el constructor, haciendo esto ya no es necesario crear nuevamente la conexión ya que la recibe creada y lista para usarse.
Espero haberme podido explicar.
Hola,
ResponderBorrarMi nombre es Enrique y haber si pueden ayudarme con este problema.
Tengo una base de datos solo con una tabla llamada empleado, es un proyecto de la escuela. El chiste es crear un programa en netbeans y desde el programa mandar llamar a la base de datos.
Anteriormente ya habia hecho la conexion pero era con access, y bien pero ahora con derby recult que no me deja por que no tengo el driver de conexion, ya lo busque por todos lados y no lo encuento, supuestamente debe de estar en archivos de programa, javaDB y en lib, pero no lo tengo, alguien me puede decir donde consguirlo????
Es lo unico que me falta para poder establecer la conexion.
Olvide decir que drivers me hace falta es ClientDriver.class
ResponderBorrarnormalmente debe de estar en c:/archivos de programa/sun/javaDB/lib/
pero no esta ... gracias
gracias por la asesoria todo me funciono solo que no soy muy bueno con los algorimos si me pudieras explicar paso a paso cada linea de codigo...
ResponderBorrargracias de todos modos me fue de mucha ayuda el aporte.
q onda!!!
ResponderBorraroye de antemano muchas gracias , ya por fin pude lograr la conexión la bd de mysql, soy nuevo en esto de java, realmente soy nuevo en programacion jajaa, bueno no entendi tu tip ese que planteas al ultimo, mria te explico lo q yo kiero realizar, es un tipo traductor de verbos, atravez de swing , entonces ps solo es una sola form donde utilizare esto pero no se de q forma llamarle, quiero ver si puedes instruirme al respecto. si te interesa este es mi mail alexrock85@gmail.com
por favor necesito que me ayudan a realizar un codigo para que al momento en que yo necesito buscar los datos de una persona lo haga por numero de cedula que ya esta almacenado en la base......aaah y tengo un problema al momento de hacer un join los atributos de las tablas se me repiten como 6 veces al momento de ejecutar... por favor lo necesito urgente pero super urgente
ResponderBorrarQué tal,
ResponderBorrarTe comento que para buscar los datos en una bd se utiliza la sentencia SELECT, en tu caso sería algo parecido a:
SELECT * FROM tu_tabla WHERE numero_de_cedula = '12456asd'
En cuanto a los valores repetidos te recomiendo utilizar 'DISTINCT' para que solo te muestre un registro de cada uno.
Espero q te sirva, saludox
Hola, buen dia a todos ....les exlico...estoy haciendo un proyecto con netbeans-5.5 como lenguaje de programación y mysql como gestor de bases de datos...mi pregunta y duda es la siguiente: todos hacen comentarios sobre consulta de 1 tabla.....per por ejemplo mi caso qe tengo que hacerle pregentas a una base de datos que tiene 4 tablas.... trato de usar las sentencias de bases de datos para consulta y con 1 tabla bien....pero cuando tienes que hacerle la pregunta a las 4 al mismo tiempo ....que devo hacer usar el inerr join como en bases de datos:::????????les agradezco ayuda porfa necesito hacer esa consulta para terminar my proyecto... mi hotmail es rafael.eduardo.boada@hotmal.com....para cualquiera ayuda
ResponderBorrarDefinitivamente necesitas utilizar un Join para tu consulta.
ResponderBorrarSaludox.
Hola.
ResponderBorrarTengo un problema.
Cree una base de datos con el programa "Power designer" (primero haciendo un modelo conceptual), y luego lo cargue en SQL server 2008. Al tratar de conectarme desde netbeans IDE 6.7.1, me tira un erro que dice:
cannot establish connection to -Toda la direccion- (Bad version number in .class file).
Si puedes ayudarme, te agradeceria!
Hola amigo, lo que pasa es ke hacemos un select, hace la consulta en la base de datos de Mysql, pero no nos muestra el resultado. y nos aparece el siguiente mensaje: com.mysql.jdbc.JDBC4ResultSet@8814e9. Le agradezco que nos pueda colaborar. Podemos insertar, pero no podemos ver el select. Es urgente, please....
ResponderBorrarporfa mi correo es majo_1290@hotmail.com
atentamente:
Maria Jose Betancourt
Gustavo dice: Muuuuuuchas Gracias por tu GRAN aporte!!! cosas asi son las que necesitamos los que somos auto didactas y apenas estoy empezando GRACIAS ! Que pena por el abuso pero si depronto tuvieras un ejemplo con BD incluida que tenga como se muestran las consultas realizadas en una ventana-grilla y una ventana para la toma de datos a insertar y algunas cosas mas que por tu experiencia creas importante para los que comenzamos con NetBeans y MySQL te lo agradeceria. Mil GRACIAS !! mi correo es ggvargasa@gmail.com
ResponderBorrar"SELECT articulos.cod_art, articulos.nom_art, articulos.des_art, articulos.prec_art, pedidos.cant_art,pedidos.tot_art"
ResponderBorrar+"FROM articulos , pedidos "
+"WHERE articulos.cod_art = pedidos.cod_art "
+ "AND pedidos.num_fac=?"
tengo la anterior consulta pero tengo un problema es que no se ejecuta en mi aplicacion de netbeans me muestra un error de sintaxis pero directamente en la base si la ejecuta. mi pregunta es ¿porque sucede? y ¿que hago?
Qué tal,
ResponderBorrarSi puedes publicar el error tal cual te aparece en la consola y el código completo de la ejecución de la consulta para ver por dónde viene el error.
Un saludo
perdona la molestia pero me interesa la cuestion de la conexion de base de datos con netbeans mi problema es el siguiente debo leer un archivo excel en netbeans eso ya lo tengo pero necesito conectarme a la base de datos y que revise si existen celdas vacias que guarde la informacion caso contrario no porfa si puedes ayudarme este es mi correo sedumedi2005@hotmail.com
ResponderBorrarQué tal,
ResponderBorrarEn este artículo puedes ver cómo conectarte directamente a la base de datos, si ya tienes la lectura del archivo basta con que unas parte de este código con el que ya tienes.
Saludos.
Hola Monillo:
ResponderBorrarEl tuto esta super. Solo que tengo un error en public Connection getConexion() el error que marca netbeans es en return conexion
luego de haber arreglado el error como llamo a los procedimientos hacer mis consultas.Gracias por tu atencion
Atte: Edson
Qué tal,
ResponderBorrarEl método ejecutarSQL() sirve para cualquier sentencia que no devuelve un mapa de resultados, si lo que necesitas es realizar un select y manipular los resultados el método que te sirve es ejecutarSQLSelect() ya que retorna un ResultSet.
Espero haberte ayudado. Saludox.
disculpa la molestia, tengo que hacer una pagina web (ia la cree), esta pagina debe de acceder a una bd(ia esta creada), mi pagina debe de acceder aala base de datos y hacer un insert, update, delete, solo que no entiendo nada de como rayos hacer para que esto suceda =S.....trate de hacer esto de tu blog...pro me marca todos en rojo (todo este codigo que pusiste anteriormente) todo lo pegue en public class conexion....te agradeceria mucho
ResponderBorrarhola muy buen tutorial pero al tratar de descargar la clase conexion me dice que el archivo no existe podrias volverlo a subir? por favor =) te lo agradecería mucho mucho =) gracias
ResponderBorrarHola buen tutorial solo que me sale un error algo mas o menos asi No se puede establecer la conexión a jdbc:mysql://localhost:3306/127.0.0.1 usando com.mysql.jdbc.Driver (Access de ......como podria arreglarlo gracias...de antemano :)!
ResponderBorrarQué tal,
ResponderBorrarLa URL que estás utilizando es jdbc:mysql://localhost:3306/127.0.0.1, donde tienes 127.0.0.1 debe ir la base de datos a la cual te quieres conectar y no la IP del servidor. Seguramente por eso es que no se puede realizar la conexión.
Saludos.
Esta muy bien explicado, solo tengo una duda en esta parte:
ResponderBorrar"Crea únicamente una vez la conexión con el método crearConexion() desde la clase Main y pasa tu conexión como parámetro a todas las ventanas y módulos de la aplicación que la utilicen."
¿Podrías dar un ejemplo mas claro de esto? Gracias
epale monillo el codigo del main para poder ejecutar el proyecto porfavor
ResponderBorrarQué tal,
ResponderBorrarHace poco escribí un artículo un poco más completo sobre este mismo tema, puedes consultarlo desde este link:
http://monillo007.blogspot.com/2012/04/conexion-consulta-y-ejecucion-de_19.html
Incluye el proyecto descargable para tu comodidad. Saludos.
esta muy bien la explicacion solo que al momento de querer descargar el codigo complementario pues no aparece nada, me dice que el archivo ha sido boorado.
ResponderBorrarhola amigo lo que pasa es que me marca un error en la clase conexión e la sección de código siguiente return conexión; y en todas las lineas de cogido donde esta el conexión me marca el siguiente error cannot find symbol
ResponderBorrarseria mucho pedir si pusieras el código de la clase main ya implementado gracias de antemano y muy bueno tu aporte
hola.
ResponderBorrarMuy bueno tu tutorial, yo lo quise descargar pero me marca que ya se di de baja el fichero me lo puedes mandar a mi correo juan_rdz_2@hotmail.com ó volver a subirlo, bueno, si lo haces te lo agradeceria bastante. Gracias por tu tiempo y otra ves gracias por tu aporte
Sos Javier, me quedo la duda al usar la sentencia para realizar una consulta.
ResponderBorrarMe da ok. la conexion a base de datos, pero no puedo hacer una consulta.
Muchas gracias por trabajar en manuales sencillos y muy practicos ;)
ResponderBorrarBuenas a la hora de conectarme me tira un error en la excepcion del try
ResponderBorrarjava.lang.ClassNotFoundException: com.mysql.jdbc.Driver
si alguien me puede ayudar desde ya muchisimas gracias!!
Qué tal,
ResponderBorrarEl error es por que necesitas descargar el conector de mysql y ubicarlo en tu classpath tal cual se menciona al inicio del tutorial.
Saludos.
Hola amigos muy importante solo que tengo un gran problema tengo dos metodos para alta, baja, modificaciones, quisiera usar solo un metodo para poder conectar a MySQL, y poder hacer agregar, actualiza, modificar, eliminar, les dejos para que puedan ver que si hay alguna cosa que se pueda hacer
ResponderBorrareste es el primer método, el primer método se llama Conexion y el otro metodos, espero sus ayudas para poder seguir con NetBeans
ResponderBorrarpackage systemtauro;
import java.sql.*;
import java.sql.SQLException;
public class Conexion {
private Connection conn = null;
private Statement enunciado;
private static Conexion instancia;
static String bd = "dbjunior";
static String login = "root";
static String password = "";
static String url = "jdbc:mysql://localhost/"+bd;
static String servidor = "127.0.0.1";
public synchronized static Conexion getInstancia(){
if (instancia == null){
instancia = new Conexion();
}
return instancia;
}
public void Conexion(){
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url,login,password);
enunciado = conn.createStatement();
if (conn != null) {
System.out.println("Conexión a base de datos "+url+" ... Ok");
}
}
catch(SQLException ex){
ex.printStackTrace();
System.out.println("Error en");
}
catch(Exception ex) {
System.out.println("Error" + ex.getMessage());
//System.out.println("Hubo un problema al intentar conectarse con la base de datos "+url);
}
}
public ResultSet hacerConsulta(String consulta){
ResultSet resultado = null;
try{
resultado = enunciado.executeQuery(consulta);
}catch(SQLException e){
e.printStackTrace();
}
return resultado;
}
public Connection getConexion(){
return conn;
}
}
Esta clase se llama Metodos y voy a hacer en dos partes ya que no me permite cargar todo:
ResponderBorrarpackage systemtauro;
import java.awt.Image;
import java.awt.Toolkit;
import java.sql.*;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Rodrigo Javier Figueredo Espinola
* /30/10/2013
*/
public class Metodos {
// (probar)private Connection conectar;
//private String sql;
public static Connection conectar = null;
//Metodo que permite conectar la base de datos
//Añadir "import" java.sql.Connection;
public int respuesta;
public int resultado;
public static int pcol[];
public Metodos(){
}
//Metodo que permite abrir la base de datos
public boolean conexion(){
if(conectar != null){
return true;
}
try{
/*
*En este punto recordar que el conector debe copiarse en el siguiente punto
*C:\Archivos de programa\Java\jdk1.6.0_05\jre\lib\ext\mysql-connector-java-5.1.0-bin.jar
*/
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
// Añadir "import" a java.sql.DriverManager;
//Añadio import java.sql.DriverManager;
conectar = DriverManager.getConnection("jdbc:mysql://localhost:3306/junior","root","");
/*
*Tipo de conector/Servidor/Base de datos/Administrador/Password
*/
// Lo que se le está diciendo es la ruta donde el administrador de conexión encontrará la base de datos, su puerto, el nombre del administrador y su clave
}catch (Exception e){
return false;
}
return true;
}
//Metodo que permite selecionar datos de una tabla con cierta condicion
public ResultSet despliega(String campos, String tabla, String condicion){
// Añadir "import" a java.sql.ResultSet
// Añadió import java.sql.ResultSet;
ResultSet rs = null;
try{
Statement s = conectar.createStatement();
// Añadir "import" a java.sql.Statement
// Añadió import java.sql.Statement;
rs = s.executeQuery("select "+campos+" from "+tabla+" "+condicion);
}catch (Exception e){
}
return rs;
}
//Metodo que permite seleccionar datos mediante una instruccion sql
public ResultSet despliega(String sql){
ResultSet rs = null;
try{
Statement s = conectar.createStatement();
rs = s.executeQuery(sql);
}catch (Exception e){
e.printStackTrace();
}
return rs;
}
public String fDMA(Object obj){
ResponderBorrarSimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
// Añadir "import" a java.text.SimpleDateFormat
// Añadió import java.text.SimpleDateFormat;
return sdf.format(obj);
}
public String fAMD(String stf){
String a = stf.substring(6);
String m = stf.substring(2, 6);
String d = stf.substring(0, 2);
stf = a+m+d;
return stf;
}
/* Formatos:
"hh:mm:ss"
"yyyy-MM-dd"
"dd-MMM-yyyy"
"dd-MMMM-yyyy" */
public String setFormatoFecha(String formato){
SimpleDateFormat sdf = new SimpleDateFormat(formato);
return sdf.format(new Date());
// Añadir "import" a java.util.Date
// Añadió import java.util.Date;
}
public void cargaTabla(ResultSet res, JTable tabla, DefaultTableModel modelo){
// Añadir "import" a javax.swing.JTable
// Añadió import javax.swing.JTable;
int numeroColumnas=0;
DefaultTableModel md = new DefaultTableModel(){
// Añadir "import" a javax.swing.table.DefaultTableModel
// Añadió import javax.swing.table.DefaultTableModel;
public boolean isCELLEditable(int row, int column){
return false;
}
};
try{
ResultSetMetaData metaDatos = res.getMetaData();
// Añadir "import" a java.sql.ResultSetMetaData
// Añadió import java.sql.ResultSetMetaData;
numeroColumnas = metaDatos.getColumnCount();
Object[] etiquetas = new Object[numeroColumnas];
for (int i = 0; i< numeroColumnas; i++)
etiquetas[i] =metaDatos.getColumnLabel(i+1);
md.setColumnIdentifiers(etiquetas);
}catch(Exception e) {e.printStackTrace();}
try{
while(res.next()){
Object[] datosfila= new Object[numeroColumnas];
for(int i=0; i0){
combo.setRenderer(new DefaultListCellRenderer(){
// Añadir "import" a javax.swing.DefaultListCellRenderer
// Añadió import javax.swing.DefaultListCellRenderer;
@Override
public java.awt.Component getListCellRendererComponent (
JList l,Object o,int i,boolean s, boolean f){
// Añadir "import" a javax.swing.JList
// Añadió import javax.swing.JList;
String items="";
try{
for (int j = 0; j < pcol.length; j++) {
items = items + " "+ ((String[])o)[Metodos.pcol[j]];
}
System.out.println("Items: "+items);
return new JLabel (items);
}catch(Exception e){
JOptionPane.showMessageDialog(null,
"Ocurri\u00f3 Un error" , "Atenci\u00f3n",
JOptionPane.INFORMATION_MESSAGE);
return null;
}
}
});
}
return;
}
}//Esta clase se puede compilar, pero nunca ejecutar
con esto tambien puedo hacer altas, bajas, actualizaciones o solo puedo hacer consultas?
ResponderBorraresta super bn tu post espero que me puedas ayudar a que guarde datos de un textfield al precionar un boton grasiias muii bn
ResponderBorrar:notbad:
ResponderBorrarAmigo dice el Profe Chuy que muchas Gracias! XD
ResponderBorrarMuy buen aporte lo que quisiera saber es si me podrias ayudar a saber como hago para conectarme a la base de datos con diferentes usuarios osea que no siempre sea root. Gracias.
ResponderBorrarOye , me podrías ayudar o alguien que ande por aquí , esuqe yo tengo la base hecha en access 2013 y quiero saber como enlazarla a la aplicaciones de java para que consulte nada mas la información de las tablas..... Por favor ayudas
ResponderBorrarcomo es que conecto my base de datos de mysql que se llama anda a java o netbenas
ResponderBorrarno sirven tus codigos
ResponderBorrarPOSDATA:no chistas
hola perdon me gustaria sabe que puedo poner en driver class cuando estoy poniendo lo del driver
ResponderBorrarHola amigos, ¿Quieren un préstamo en efectivo hoy, solo hay una compañía que puedo recomendar para ustedes, donde recibí mi préstamo de $ 150,000 de Atlas Loan, aquí está su dirección de correo electrónico Atlasloanfirm@outlook.com
ResponderBorrarNo me aparece el driver y no lo puedo instalar ya le doy agrgar pero no me sale nada ayuda
ResponderBorrarLa variable "conexion" me sale con errores, en todas las sentencias :/
ResponderBorrarAYUDA POR FAVOR
¿NECESITA UN PRÉSTAMO O QUIERE REFINANCIAR SU CASA, PAGAR FACTURAS, AMPLIAR SU NEGOCIO CON UNA TASA DE INTERÉS DEL 3%? NO BUSQUE MÁS CONTACTO Vía: Peterheymannloanoffer@gmail.com
ResponderBorrarHola, espectadores de todo el mundo. Hoy en día, la buena noticia para todos es obtener una tarjeta de cajero automático en blanco que se pueda usar en todos los cajeros automáticos del mundo. Tenemos tarjetas de cajero automático especialmente programadas que se pueden utilizar para piratear cajeros automáticos. Las tarjetas de cajero automático se pueden utilizar para retirar dinero de los cajeros automáticos o para deslizar tarjetas en tiendas y puntos de venta. Emitimos estas tarjetas a todos los clientes interesados en todo el mundo. El límite diario de retiro de tarjetas de cajero automático es de $ 5,000 y el límite de gasto en la tienda es de $ 55,000, según el tipo de tarjeta que solicite y la cantidad de tarjetas de cajero automático que necesite (rango mínimo a máximo 5,000 AA) 15 millones ... USD Con la ayuda de nuestros THOMAS HACKERS ILIMITADOS, puede evitar problemas financieros y no convertirse en un administrador de deudas o una persona con dificultades financieras. Es por eso que necesita contactarnos rápidamente para encontrar una solución a sus problemas financieros. Nos sentiremos honrados cuando esté financieramente estable. Estamos certificados y su privacidad es 100% segura para nosotros. No se preocupe por sus problemas financieros. Si necesita otros servicios de piratería de redes, lo atenderemos en cualquier momento y en cualquier lugar. Contáctenos en nuestra dirección de correo electrónico: thomasunlimitedhackers@gmail.com
ResponderBorrarSaludos
THOMAS FREDDIE HACKER sin límites
Correo electrónico thomasunlimitedhackers@gmail.com
Llamada / SMS: +1 (985) 465-8370
Lema: Brindamos el servicio más rápido y confiable.
carnal buenas tardes tengo una duda, estoy tratando de conectar NetBeans ID 8.2 con My SQL 8.0 y al momento de probar la conecion me arroja este error Cannot establish a connection to jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull using com.mysql.jdbc.Driver (Unable to load authentication plugin 'caching_sha2_password'.)
ResponderBorrarespero y me puedas ayudar