Mysql + java (iniciante)

15 respostas
A

Ae pessoal eu andei lendo varios topicos aqui sobre a conexao java cm o um banco de dados MYSQL porem eu nao entendi muito coisa....!!!! gostaria da ajuda d voces para conectar meu banco de dados q acabei d criar , em uma classe q eu vou criar! Andei pesquisando e axei isso:

Class.forName("com.mysql.jdbc.Driver");

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/BANCO_DE_DADOS?user=root&password=root");
porem naum entendi nd!!! o meu banco de dados esta na minha maquina , e ele naum tem senha !!! talvez eu naum estou sabendo fazer isso direito pois naum sei kse nd de MYSQL tb..... entaum o caminho do meu banco de dados eh:
C:\Arquivos de programas\MySQL\MySQL Server 5.0\data\agenda
ele esta local! gostaria de saber como ficaria o codigo!! qualquer ajuda.... esta valendo!!.. flww!!

15 Respostas

Rafael_Nunes

Dá uma pesquisada no fórum(e/ou no google) que tem milhares de exemplos acerca disto.

Adriano_Almeida

Leia:

http://www.guj.com.br/java.tutorial.artigo.7.1.guj

rockstorm

Tente fazer assim:

public final static String DB_USER_NAME = "root";
public final static String DB_PASSWORD = "";
public final static String DB_URL = "jdbc:mysql://localhost:3306/agenda";

deixando a senha em vazio.

Connection conn = null;
conn = DriverManager.getConnection(DB_URL,DB_USER_NAME, DB_PASSWORD);
A

Entaum no forum eu axei varias exemplos… porem naum entendi!!! esse LOCALHOST serve para q!!! ondi q eu indico o caminho do meu banco de dados!!!

Guilherme_Moreira

Primeiro você deve “ligar” o banco de dados, basta executar o comando mysqld na pasta bin do seu banco.

Segundo, o Class.forName(“com.mysql.jdbc.Driver”) carrega o driver que conecta no banco de dados

e o no getConnection(URL,USER,PASSWORD)

onde

URL é o caminho de conexão tá certo do jetio que voê escreveu, mas desde que você troque BANCO_DE_DADOS, pelo nome do seu banco

USER, não precisa colocar “user=” basta o usuário (no seu caso de ser root)

PASSWORD, deixe em branco já que você não usa senha no banco , deixe um String vazia “”

localhost é o endereço padrão das máquinas, localhost significa que ele vai procurar a conexão na sua próprio máquina

gui_sv

Opa,

Cara isto é tranquilo se vc acompanhar este material no capitulo 1 vc ja conecta direitinho…
[url]

[/url]

boa sorte !!

rockstorm

localhost é o endereço da sua maquina.
E agenda é o nome da instancia do seu banco.

M

Achei esse código no Portal Java, deve te ajudar ok. Mas primeiro vc deve configurar seu drive JDBC.

O código a seguir mostra de forma simples e rápida como efetuar uma conexão com banco de dados.
Ela serve para qualque banco de dados. Apenas tome cuidado para utilizar o o driver JDBC adequado ao seu Banco de dados.

ë necessário que você sete alguns parãmetros adequados ao seu BD, para que a classe funcione

/*

*/

/*

  • Boas práticas: É aconselhável colocoar todas as suas classes enm pacotes que
  • façam algum sentido as pessoas que irão trabalhar no mesmo código que você.
  • ps. Também é aconselhável iniciar o nome dos pacotes com o domínio web do site
  • da sua empresa. Isto evita conflito entre nomes de classes ao uilizar classes
  • de terceiros.
    */
    package br.com.portaljava.tutoriais.jdbc.connection;
import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

/**

  • Mais boas práticas: Não tenha vergonha de assinar a sua classe.
  • Outras pessoas podem precisar de sua ajuda para fazer manutenção no código
  • algum dia.
  • @author Franklin Samir([email removido])

/
public class JdbcConnection {
/
*

  • Conexão com o BD.
    */
    private Connection con = null;
private String hostName = null;

private String userName = null;

private String password = null;

private String url = null;

private String jdbcDriver = null;

private String dataBaseName = null;

private String dataBasePrefix = null;

private String dabaBasePort = null;

/**

  • Cosntrutor Padrão
<em>/

public JdbcConnection() {

super();

/</em>

* Os dados setados abaixo servem para uma conexão em MySQL.

* Altere de acordo com seu BD.

*

* Aconselhamos carregar estes dados de um arquivo.

*/

//“jdbc:mysql://localhost:3306/meu_bd”;

hostName = “localhost”;

userName = “portaljava”;

password = “java rulez!”;

jdbcDriver = “org.gjt.mm.mysql.Driver”;

dataBaseName = “meu_bd”;

dataBasePrefix = “jdbc:mysql://”;

dabaBasePort = “3306”;
url = dataBasePrefix + hostName + ":"+dabaBasePort+"/" + dataBaseName + "/";
/*
 * Exemplo de um URL completo para MySQL:    
 * a concatenação acima deve ficar algo como:
 * jdbc:mysql://localhost:3306/meu_bd
 */

}

/**

  • Retorna uma java.sql.Connection.
  • @return con
    */
    public Connection getConnection() {
    try {
    if (con == null) {
    Class.forName(jdbcDriver);
    con = DriverManager.getConnection(url, userName, password);
    } else if (con.isClosed()) {
    con = null;
    return getConnection();
    }
    } catch (ClassNotFoundException e) {
    //TODO: use um sistema de log apropriado.
    e.printStackTrace();
    } catch (SQLException e) {
    //TODO: use um sistema de log apropriado.
    e.printStackTrace();
    }
    return con;
    }

/**

  • Fecha a conexão com BD.
*/

public void closeConnection() {

if (con != null) {

try {

con.close();

} catch (SQLException e) {

//TODO: use um sistema de log apropriado.

e.printStackTrace();

}

}

}

}
A

Simsim.. vlww.. axo q entendi olha meu codigo tah assim:

public class TesteBDO {


	public void Connect() throws Exception{
		Class.forName("com.mysql.jdbc.Driver");

		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/agenda","root","");


		Statement stm = conn.createStatement();
		ResultSet rs = stm.executeQuery("SELECT * FROM usuario");


	}

}

Prontu axu q tah certu.. agora qual metodo do ResultSet eu tenho q usar pra acrescentar registros na minha table?

M

É só vc para a instrução SQL de insert do executeQuery ok.

A

Não Entendi!

ilidiopaulo

o método executeQuery do objeto Statement para submeter uma consulta ao seu banco de dados.

A

|Como assim… naum entendi!! para eu adicionar dados em um banco de dados como eu faço!!! que metodo eu uso!!

por exemplo , quando quero adicionar registro em uma lista eu ponho…

lista.add(“Registro”);

entaum como eu fassu issu no BD?!

ilidiopaulo

Pesquisa no google sobre a API do java, mais expecificamente o java.sql

- A classe Driver Manager
- A interfaces Driver
- A interface Connection
- A interface Statment
- A interface ResultSet
- A interface PreparedStatement
- A interface ResultSetMetaData

Caso tenha algum livro que fale de java, procure o capítulo que fala sobre JDBC.

Y

Concordo com o usuário acima sobre você estudar as classes do java.sql, mas algumas podem te ser eventualmente complexas, não na prática, mas conceitualmente. Por exemplo, acredito que aprender a usar PreparedStatements sem saber o que é uma stored procedure é pressa demais, hehehe.

Bom, você havia perguntado como inserir registros no banco correto?

Primeiro: vou supor que você já saiba usar o comando INSERT da SQL. Caso não, pesquise.

Há dois métodos mais comuns para se inserir registros no BD. Um deles ocupa menos linhas no BD e aconselho somente para inserções sem muita importância, onde não há muitas concatenções e etc.

Com o INSERT:

Statement stm = conn.createStatement();
stm.execute("INSERT INTO agenda (dia, mes) VALUES (16, 7)");

Pronto! Viu como é fácil? O método execute() apenas executa a sql, seja ela qual for, no banco de dados, e retorna true se a execução foi bem sucedida ou false se o contrário. E perceba você nem precisou de um ResultSet!

Agora inserindo de outra forma:

ResultSet rs = stm.executeQuery("SELECT dia, mes FROM agenda");
rs.moveToInsertRow();
rs.updateInt(1, 16);
rs.updateInt(2, 7);
rs.insertRow();
rs.acceptChanges();

Primeiro você cria um resultset contendo os registros do banco de dados. Depois o método moveToInsertRow() move o cursor para uma linha especial do resultset. O método updateInt() e demais updateXXX() você pode consultar na documentação do Java. O método updateInt() aceita dois argumentos: o primeiro especifica qual coluna será alterada, e o segundo argumento define o valor. Veja:

rs.updateInt(1, 16);

O código acima indica que a coluna 1 será atualizada com o seu valor sendo setado para 16.

O método insertRow() insere efetivamente a linha no resultset.

O método acceptChanges() é opcional, só precisa ser usado caso você esteja usando uma conexão com autocommit desativado.

Criado 5 de janeiro de 2007
Ultima resposta 6 de jan. de 2007
Respostas 15
Participantes 9