Sei sulla pagina 1di 15

BANCO DE DADOS - SGDB (Sistema Gerenciador de Banco de Dados - MySQL) – ( http://emossin.blogspot.com.br/p/banco-de-dados-java.

html )

Exemplo dos mais utilizados: MS-Acess (Microsoft), dBASE (LibreOffice), Oracle, MySQL(MySQL Workbench), MS-SQL-Server (Microsoft),
PostgreSQL (Muito usado em sistema Web).

MySQL Workbench: Interface gráfica que faz a conexão para se comunicar com o SGDB do MySQL. Cria tabelas, colunas e gerencia o banco de
dados.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Teoria:

Banco de dados: Banco de dados (ou base de dados), é um conjunto de registros dispostos em estrutura regular que possibilita a reorganização dos
mesmos e produção de informação. Um banco de dados normalmente agrupa registros utilizáveis para um mesmo fim.
Um banco de dados é usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD) –
um exemplo é o Oracle, mysql, SQL Server, POSTGRE. Normalmente um SGBD adota um modelo de dados, de forma pura, reduzida ou estendida.
Muitas vezes o termo banco de dados é usado, de forma errônea, como sinônimo de SGDB.
O modelo de dados mais adotado hoje em dia é o modelo relacional, onde as estruturas têm a forma de tabelas, compostas por tuplas (linhas) e
colunas.

Instâncias: Os principais componentes de um típico servidor comercial são uma ou mais CPU’s, espaço em discos e memória. Enquanto o banco de
dados Oracle é armazenado em um disco do servidor, uma instância Oracle existe na memória do servidor. Uma instância Oracle é composta de um
grande bloco de memória alocado em uma área chamada System Global Area (SGA), juntamente com alguns processos em segundo plano que
interagem entre SGA e os arquivos de banco de dados no disco.
Resumindo na linguagem do Oracle podemos definir que uma instância Oracle é a combinação da memória e dos processos que são parte de uma
instalação em funcionamento e/ou a instância é usada para a gerência e acesso ao banco de dados.

Schema: Um schema é representado por uma coleção de vários objetos de um ou mais usuário de banco de dados como exemplo: tabelas,
seqüências, índices, etc. São associados a um banco de dados na razão de vários esquemas para um BD.

Tablespace e Datafile: Um banco de dados é armazenado logicamente em uma ou mais tablespaces que, por sua vez, é armazenada fisicamente no
disco em um ou mais arquivos para cada tablespace.

Extensões: A Extensão (extent) é o próximo nível de agrupamento lógico no banco de dados – existente em apenas um datafile. Uma extent consiste
em uma ou mais blocos de banco de dados. Quando um objetivo de banco de dados é expandido, o espaço adicionado ao objetivo é alocado como
uma extensão

Tabelas (tables): Imaginamos um documento do excel, onde temos vários colunas e linhas, nela temos vários informações de cliente, com nomes,
telefones, endereços, CPF e entre outros. O documento do Excel é uma Tabela. Uma explicação do Livro: O manual do DBA (Kevin and Loney) – Uma
tabela é a unidade básica de armazenamento em um banco de dados. Sem tabelas, um banco de dados não tem valor para uma empresa.
Independente do tipo de tabela, os dados em uma tabela são armazenados em linhas e colunas, de maneira semelhante ao Excel da Microsoft.

Tabela relacional: O modelo relacional é um modelo de dados, adequado a ser o modelo subjacente de um Sistema Gerenciador de Banco de Dados
(SGBD), que se baseia no princípio em que todos os dados estão guardados em tabelas (ou, matematicamente falando, relações). Toda sua definição
é teórica e baseada na lógica de predicados e na teoria dos conjuntos.
O Oracle suporta modelos relacionais e modelos relacionais de objeto.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Instalação e Personalização – MySQL e Workbench:

- Baixar e instalar o MySQL Community Server que contém todas as ferramentas básicas necessária, inclusive o Workbench. Baixe o "Installer MSI"
que fará as configurações no registro automaticamente. Não é necessário registrar, basta clicar em "No thanks, just start my download".

Optando pela instalação padrão que é semelhante a Full;


Installs the MySQL Server and the tools required for MySQL application development. This is useful if you intend to develop applications for an existing
server.
This Setup Type includes:

* MySQL Server

* MySQL Shell
The new MySQL client application to manage MySQL Servers and InnoDB cluster instances.

* MySQL Router
High availability router daemon for InnoDB cluster setups to be installed on application nodes.

* MySQL Workbench
The GUI application to develop for and manage the server.

* MySQL for Excel


Excel plug-in to easily access and manipulate MySQL data.

* MySQL for Visual Studio


To work with the MySQL Server from VS.

* MySQL Connectors
Connector/Net, Java, C/C++, OBDC and others.

* Examples and tutorials


To help you get started with your development.

* Documentation
Allows you to read the documentation offline.
- Usando:
Login: root
Senha: suasenha

=> Na instalação padrão do arquivo "mysql-installer-community-5.7.18.1.msi" não instalou o Workbench, mas na instalação adicional "mysql-
workbench-community-6.3.8-win32.msi" o Workbench foi instalado e está funcional.

Instalando:
• MySQL Community Server (https://dev.mysql.com/downloads/mysql);
• MySQL Workbench (https://downloads.mysql.com/archives/workbench) ;

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

MODELAGEM (Usando a ferramenta Workbench)

Modelar é a apresentação de como será o banco de dados onde serão colocadas as colunas onde serão armazenas as informações e em outro
momento a inserção dos dados, mas primeiro é só criar a modelagem. Posteriormente estando a estrutura toda criada e planejada cria-se um "Script"
de onde será gerado o banco de dados. Entre outras o Workbench permite administrar o banco, criar usuários, fazer backup do banco, etc.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Criando um novo modelo – Model - MySQL e Workbench:

- Abre o Workbench e na parte inferior da tela clica em "+" e na página seguinte que se abrirá clica em "Add Diagram" que é onde serão mostradas as
tabelas;
- Clica no lado esquerdo em "Place a New Table " e em seguida clica no
no centro da janela e será criada a tabela;
- Clicando duas vezes na tabela, abrirá abaixo os detalhes desta tabela;
- Em Table Name, escreva o nome da tabela e pressione o "Enter".
Abaixo cria as colunas;
- Para criar outras tabelas basta clicar em "Place a New Table " e seguir
os passos acima;

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Erros comuns em modelagem de dados – Model - MySQL e Workbench:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Relacionamento entre tabelas – Model - MySQL e Workbench:

- Comparativo do que a Modelagem representa em uma tabela de Dados;


- Cada tabela precisa contemplar somente informações relacionadas ao que ela representa, ou seja, se ela representa Alunos, somente informações
de alunos, se ela representa Cursos, armazenar somente informações relacionadas ao curso, com exceção das colunas/campos que serão utilizados
para relacionar uma tabela com a outra ;

- Porém precisa haver consistência e onde o campos seja identificado por número e não por caracteres onde há possibilidade de erro na digitação;
- Forma de deletar um relacionamento

- Similaridade consistente entre Modelagem e Banco de Dados

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Procedimento para efetuar um Relacionamento entre tabelas – Model - MySQL e Workbench:

- Primeiro clica no botão do lado esquerdo;


- Aparece o alerta onde deve clicar em "Pick
Referenced Columns";
- Clica no campo que é a Chave Estrangeira em uma
tabela e em seguida, na outra tabela, clica na Chave
Primaria;
- Ao clicar na Chave Estrangeira, a mensagem do
alerta mudará sendo incluído o nome do campo
selecionado, pedindo agora para clicar na chave
primária;

- Relacionamento efetuado;
- Linha está pontilhada representando a relação
que não impede a exclusão de dados contendo
dependência;
- Dê um duplo clique neste relacionamento, que é
representado pela linha pontilhada;

- Após o duplo clique no relacionamento, selecione a aba Foreign Key e selecione a caixa "Identifying Relationship" e o relacionamento agora deixará
de ser pontilhado identificando que não mais poderá ser excluído se houver alguma dependência;
- Desta forma, garante que o Banco de Dados não conterá dados inconsistentes;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Escolha do tipo de campo em uma Modelagem - Model - MySQL e Workbench:

- 1 INT possui em torno de 4 bytes que correspondem a 32 bits (zeros e uns) o que vai representar um espaço na memória;
- No caso de CPF como VARCHAR, possuindo 11 números contando com 2 pontos e 1 hífen, sendo tudo armazenado neste formato, conterá 14 bytes;
- Mesmo colocando o CPF como INT, considerando o limite numeral do campo, precisará considerar a formatação quando for necessário apresentá-lo
ao usuário novamente, então o mais adequado seria considerar somente os campos IDs que são mais eficientes otimizando o sistema em uma busca;
- Precisando de mais registro, invés de usar INT, use outro tipo como DOBLE, LONG, FLOAT, etc., depende do banco e da necessidade.

Obs.:
Para se tornar um especialista em Banco de Dados existe uma especialização (pós-graduação de 1 a 2 anos) que é feita após a faculdade chamada
DBA (sigla em inglês de Database administrator);

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

CRIANDO UM BANCO DE DADOS

Ao criar um banco de dados, cada tabela deve conter somente dados referentes ao seu tipo, ou seja, cada tabela representa uma entidade isolada
contendo somente atributos relacionados a esta tabela.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Criando um Banco de Dados a partir de um modelo de banco de dados – Model - MySQL e Workbench:

- Para criar um script (roteiro) que gerará um novo banco de dados, no Workbench vá em File / Export / Forwad Engineer SQL CREATE Script (CRTL
+ SHIT + G). Usando a configuração padrão para salvar somente as tabelas. Para alterar o nome do banco, antes de exportar, vá em "Catalog Tree" e
modifique o nome do banco.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Acessando o SGDB para criar um banco de dados – Model - MySQL e Workbench:

- Acessando via prompt:

- Acessando via Workbench:

Preencha:
Connection Name: EAD_INF
Hostname: localhost
Username: root
Password: sera pedida ao clicar em Test Connection
Test Connection: OK
OK: Conexão criada

Para se conectar bastará clicar duas vezes na conexão.

- Comando e resultado similar entre prompt e versão gráfica ao "digitar show databases;"
Após gerar o script clica em "Copy to Clipboard" Após ter criado e conectado na nova conexão, clica na área de comando e cola o script
criado que foi copiado no Clipboard. Clica no botão Executar e o banco de dados será
criado. Apagá-se o script e o banco está pronto para ser utilizado.

- Navegando pelo painel e executando SQL


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Preenchendo dados no Banco e comandos SQL INSERT- MySQL e Workbench:

INSERT INTO `escola`.`cursos` (`nome`, `sigla`,


`cargaHoraria`) VALUES ('Engenharia Mecânica',
'ENGM', '3600');

INSERT INTO `escola`.`cursos` (`nome`, `sigla`,


`cargaHoraria`) VALUES ('Técnico em
Informática', 'TINF', '1500');

INSERT INTO `escola`.`alunos` (`nome`,


`sobrenome`, `idCurso`, `prontuario`) VALUES
('Nome', 'Sobrenome', '2', '1234567');

SELECT alunos.nome, alunos.sobrenome,


cursos.nome curso, alunos.prontuario FROM
escola.alunos, escola.cursos where
alunos.idCurso = cursos.id;

UPDATE `padariadb`.`produtos` SET


`codigobarras`='2225551457' WHERE `id`='2';

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

COMANDOS (Usando modo texto) – ( http://download.nust.na/pub6/mysql/doc/refman/4.1/pt/batch-commands.html )

Quantas conexões estão abertas ou ativas no mysql?


- show status like 'Connections';
- select concat('KILL ',id,';') from information_schema.processlist where user='root' into outfile '/tmp/a.txt';
- SELECT GROUP_CONCAT(CONCAT('KILL QUERY ',id,';') SEPARATOR ' ') KillQuery
FROM information_schema.processlist WHERE user<>'system user'\G
- mysql -NBe "SELECT CONCAT('KILL ', id, ';') FROM information_schema.processlist WHERE user = 'some_username';" | mysql -v

Para mostrar as conexões atuais:


SHOW PROCESSLIST;

Para mostrar as colunas:


SHOW COLUMNS FROM tbl_usuarios;

how to kill mySQL connections?


KILL número_do_id;

Como Executar Comandos SQL a Partir de um Arquivo Texto. O cliente mysql normalmente é usado de maneira interativa, desta forma:
shell> mysql banco_dados

Entretanto, também é possível colocar seus comandos SQL em um arquivo e dizer ao mysql para ler a entrada a partir deste arquivo. Para fazer isto,
crie um arquivo texto arquivo_texto contendo os comandos que você deseja executar. Então execute o mysql como exibido abaixo:
shell> mysql banco_dados < arquivo_texto

Você também pode iniciar seu arquivo texto com uma instrução USER nome_bd. Neste caso, não é necessário especificar o nome do banco de dados
na linha de comando:
shell> mysql < arquivo_texto

Se você já está executando o mysql, você pode executar um arquivo de script SQL usando o comando source:
mysql> source filename;
Ex.: source D:/_____PROGRAMACAO/__PROJETOS\MySQL/004_modelCursos_PadariaDb_001.sql;

SetResult: Seria algo como onde o banco de dados guarda o resultado de uma pesquisa que será utilizada por uma linguagem de programação para
ser apresentada na tela;

SELECT IN - OR e IN: São comandos equivalentes em uma SQL. Ex.:


- SELECT nome FROM alunos WHERE idDisciplina IN (1,3)
- SELECT nome FROM alunos WHERE idDisciplina = 1 OR idDisciplina = 3

- SELECT nome FROM alunos WHERE idDisciplina IN (1) onde o 1 é SELECT id FROM disciplina WHERE nome = ‘Matemática’ pode juntar e fica
igual a SELECT nome FROM alunos WHERE idDisciplina IN (SELECT id FROM disciplina WHERE nome = ‘Matemática’)

- SELECT nome FROM alunos WHERE idDisciplina IN (1,3) onde o 1 é SELECT id FROM disciplina WHERE nome = ‘Matemática’ OR nome =
‘História’ pode juntar e fica igual a SELECT nome FROM alunos WHERE idDisciplina IN (SELECT id FROM disciplina WHERE nome = ‘Matemática’
OR nome = ‘História’)

- SELECT nome FROM alunos WHERE idDisciplina IN (SELECT id FROM disciplina WHERE nome IN ( ‘Matemática’, nome = ‘História’))

SINTAXEX (SQL )
SELECT * FROM tabela

DELETE FROM tabela – Não tem (*)

UPDATE `tabela` SET `campo`= 'conteúdo' WHERE `id`='número do ID';

INSERT INTO `tabela` (`campo1`, ` campo2`, ` campo3`, ` campo4`) VALUES (conteúdo1, conteúdo2, conteúdo3, conteúdo4);

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

BANCO DE DADOS e Java

(http://www.htmlstaff.org/ver.php?id=20539 )

O Alter Table é um dos comandos que mais geram dúvidas. Por isso estou postando um pequeno tutorial de como utilizá-lo.

Primeiro vamos criar uma tabela para a gente brincar:

CREATE TABLE teste (


Id INTEGER(10),
nome VARCHAR(20) NULL,
endereco VARCHAR(50) NULL,
);

Renomeando a tabela "teste" para "ievolution":


ALTER TABLE teste RENAME TO ievolution;

Vamos adicionar uma coluna do tipo varchar nessa tabela:


ALTER TABLE ievolution ADD COLUMN forum VARCHAR(50);

Também pode-se adicionar uma coluna em uma determinada antes ou depois de outra coluna em especial:

#cria a nova coluna depois da coluna Id


ALTER TABLE ievolution ADD COLUMN forum VARCHAR(50) AFTER Id;
#cria a nova coluna antes da coluna nome
ALTER TABLE ievolution ADD COLUMN forum VARCHAR(50) FIRST nome;

Vamos renomear essa coluna "forum" para "melhorforum":


ALTER TABLE ievolution CHANGE forum melhorforum VARCHAR(50) UNSIGNED;

Podemos mudar o tipo do dado de uma coluna de 2 formas: utilizando CHANGE e MODIFY:
ALTER TABLE ievolution CHANGE melhorforum melhorforum INTEGER(3);
ALTER TABLE ievolution MODIFY melhorforum INTEGER(3);

Podemos adicionar uma chave primária nessa tabela:


ALTER TABLE ievolution ADD PRIMARY KEY (Id);

Podemos adicionar também chave estrageiras nessa tabela:


ALTER TABLE ievolution ADD FOREIGN KEY (endereco) REFERENCES tabela_enderecos (endereco);

Para eliminar uma coluna da tabela basta fazer:


ALTER TABLE ievolution DROP COLUMN melhorforum;

Para maiores informações:


http://dev.mysql.com/doc/refman/4.1/pt/alter-table.html

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Sintaxe da estrutura de tabela

CREATE TABLE temp (startdate varchar(255), stuff varchar(255));

INSERT INTO temp


SELECT startdate,stuff
FROM mytable;

TRUNCATE TABLE mytable;


ALTER TABLE mytable ALTER COLUMN startdate DATETIME NOT NULL;

INSERT INTO mytable


SELECT CAST(startdate AS DATETIME), stuff FROM temp;

DROP TABLE temp;

Mostrar a estrutura da tabela:


describe NomeDaTabela;

Mostrar o nome do banco de dados:


SELECT DATABASE()

Converter data de dd/mm/yyyy para yyy/mm/dd:


UPDATE tbl_data SET data =
DATE_FORMAT(STR_TO_DATE(data, '%d/%m/%Y'), '%Y-%m-%d')
WHERE data LIKE '__/__/____'

UPDATE tabela SET datatmp = STR_TO_DATE(data_venda, '%d/%m/%Y')

Ordenar data armazenada como VarChar:


SELECT str_to_date(data, '%d/%m/%Y') AS data FROM contas ORDER BY data;
Sintaxe: str_to_date(CAMPO, 'formato armazenado da string')

Convertendo varchar em date no MySQL (How to change VARCHAR type to DATETIME using ALTER in MySQL?)
ALTER TABLE <tblName> MODIFY <columnName> dataType constraint;
For your requirement it will be
ALTER TABLE <tblName> MODIFY <columnName> datetime;

Query sql convert text field dd/mm/yyyy to date field yyyy-mm-dd


You could use the STR_TO_DATE(str, format) MySQL function.

Example switching out my_date_col for a converted one:

BEGIN;
ALTER TABLE `date_test`
ADD COLUMN `my_date_col_converted` DATE;

UPDATE `date_test`
SET `my_date_col_converted` = STR_TO_DATE(`my_date_col`, '%d/%c/%Y');

ALTER TABLE `date_test`


DROP COLUMN `my_date_col`;

ALTER TABLE `date_test`


CHANGE COLUMN `my_date_col_converted` `my_date_col` DATE;
COMMIT;

Convert varchar column to date in mysql at database level


UPDATE `table`
SET `column` = str_to_date( `column`, '%d-%m-%Y' );

More about STR_TO_DATE function.

Since your column name is date1, you can replace column with date1 in the above syntax, and the code shall be:
UPDATE `table`
SET `date1` = str_to_date( `date1`, '%d-%m-%Y' );

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

BANCO DE DADOS e Java – Criando um Projeto

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Procedimentos para a criação de um projeto em Java para montar a string a ser enviada para o banco de dados:

1- No Workbench, cria a modelagem do banco;

2- No Workbench, exporta o script de modelagem e executa no banco para a criação da tabela;


3- No NetBeans cria um novo projeto;

4- Dentro do novo projeto, clica na pasta do projeto com botão esquerdo e cria um novo arquivo JFrame Form que é o Form onde vai aparecer a
interface gráfica;

5- Coloca os Labels, Text Fields e Buttons. Personaliza os nomes e nomes das variáveis;

6- Configurar o Botão (OK, CADASTRAR, etc)

7- Primeira coisa é inserir no espaço (// TODO add your handling code here:) uma string para criar a query que vai inserir os dados no banco.

Query real: INSERT INTO jogadores (nome, sobrenome, time, numero_camisa, cpf, data_nascimento) VALUES
('Nome', 'Sobrenome', 'Nenhum',111.111.111-11,
1, '1980-01-21')
Equivalente a String que vai para o banco de dados:
String insert = "INSERT INTO jogadores (nome, sobrenome, time, numero_camisa, cpf, data_nascimento) VALUES ('"
+ jTextFieldNome.getText() + "'"
+ ", '" + jTextFieldSobrenome.getText() + "'"
+ ", '" + jTextFieldTime.getText() + "'"
+ ", " + jTextFieldNumeroCamisa.getText()
+ ", '" + jTextFieldCPF.getText() + "'"
+ ", '" + jTextFieldDataNascimentoAno.getText() + "-"
+ jTextFieldDataNascimentoMes.getText() + "-"
+ jTextFieldDataNascimentoDia.getText() + "'"
+ ")";

8- Agora cria um JOptionPane.showMessageDialog(rootPane, insert); onde o insert é o nome da variável da string;

9- Esta parte está pronta e já pode ser executada. Vai aparecer no JOptionPane a string que seria enviada para o banco de dados;

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Procedimentos para a criação de um projeto em Java que faça a conexão com o banco de dados, :

1- No Workbench, cria a modelagem do banco;

2- No Workbench, exporta o script de modelagem e executa no banco para a criação da tabela;

3- No NetBeans cria um novo projeto;

4- Dentro do novo projeto precisa criar a classe para fazer a conexão. Copie e cole o arquivo de conexão (ConexaoMySQL.java);

5- Vai agora na função Main e digita no espaço(// TODO code application logic here):
ProjetoConexaoBD.ConexaoMySQL.getInstance().getConnection();

6- Ao tentar executar a classe vai dar um erro que não carregou a biblioteca. Para carregar precisa copiar o arquivo no caso, mysql-connector-java-
5.1.23-bin.jar, na pasta lib do projeto (Se não existir, crie uma). Em seguida vai no NetBeans e com o botão direito clica na pasta Libraries e em
seguida Add JAR/Folder..., localiza o arquivo biblioteca na pasta lib do projeto e adiciona.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
OUTRO – Extra curso - Procedimentos para a criação de um projeto em Java que faça a conexão com o banco de dados, :
(Tutorial feito para NetBeans 7.0 - https://www.youtube.com/watch?v=tks7zlmWKZ0 – Não deu certo no NetBeans 8.1)

1- No Workbench, cria a modelagem do banco;

2- No Workbench, exporta o script de modelagem e executa no banco para a criação da tabela;

3- No NetBeans cria um novo projeto;

4- Dentro do novo projeto precisa criar a classe para fazer a conexão. Clique com o botão direito na pasta do projeto "projetoconexaodb" / New / Java
Class, dar o nome de MyConnection e clicar em Finish;

5- Efetue os passos
1- Criar o método Main usando a expressão "psvm" e pressionando o TAB;
2- Em seguida digitar "trycatch" e pressionar o TAB para criar. Criar um objeto chamando a classe digitando new MyConnection(); . No
catch, com o objetivo de ocorrer algum erro e não conectar, digite, System.out.println("Não conectado"); ;
3- Agora, fora do método Main, precisa criar o construtor desta classe. Pressione a tecla ALT e pressione o INSERT, aparecerá um menu
suspenso, clique em "Constructor".
4- Dentro deste constructor comece a digitar dados da conexão. Será uma conexão variável do tipo connection sendo um atributo da classe
MyConnection, digite private Connection connection;, onde para importar pressione o ALT e o ENTER, e escolha Add import for
Java.sql.Connecion;
5- Será importada a classe import com.mysql.jdbc.Connection; ;
6- Será necessário também importar outra classe, digite import Java.sql.DriverManager; ;
7- Precisa agora colocar a Biblioteca para poder digitar o comando que a procura. Clique em Libraries com botão direito e escolha Add
Library..., procure por MySQL JDBC Driver e clique no botão Add Library;
8- Para importar este driver para a classe, digite Class.forName("com.mysql.jdbc.Driver");,
9- Será gerada uma exceção de classe não encontrada, pressione o ALT e o ENTER e para adicionar clique em Add throws clause for
Java.lang.ClassNotFoundException;
10- Para inicializar a conexão, use o método da classe DriverManager digitando:
connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1/jogadores","root","ifspals2017");
11- Se gerar uma exceção, bastará pressionar o ALT e o ENTER e para adicionar clique em Add throws clause for
Java.lang.ClassNotFoundException, se não gerar, incluir manualmente e importar também a classe. Digite , SQLException;
12- e import java.sql.SQLException;,
13- No final, dando tudo certo e não gerando exceção, para mostrar a mensagem se sucesso, digite, System.out.println("Conectado com
sucesso");;

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package projetoconexaobd;

import com.mysql.jdbc.Connection; //5- Dentro deste constructor comece a digitar dados da conexão. Será uma conexão variável do tipo connection sendo um atributo da
classe MyConnection, digite private Connection connection;, onde para importar pressione o ALT e o ENTER, e escolha Add import for Java.sql.Connecion;
import Java.sql.DriverManager; //6- Será necessário também importar outra classe, digite import Java.sql.DriverManager; ;
import java.sql.SQLException; //12- e import java.sql.SQLException;,
/**
*
* @author ALS
*/
public class MyConnection { //3- Agora, fora do método Main, precisa criar o construtor desta classe. Pressione a tecla ALT e pressione o INSERT, aparecerá um menu
suspenso, clique em “Constructor”.
private Connection connection; // 4- Dentro deste constructor comece a digitar dados da conexão. Será uma conexão variável do tipo connection sendo um atributo da
classe MyConnection, digite private Connection connection;, onde para importar pressione o ALT e o ENTER, e escolha Add import for Java.sql.Connecion;

public MyConnection() throws ClassNotFoundException, SQLException { //9- Será gerada uma exceção de classe não encontrada, pressione o ALT e o ENTER e para
adicionar clique em Add throws clause for Java.lang.ClassNotFoundException; //11- Se gerar uma exceção, bastará pressionar o ALT e o ENTER e para adicionar clique em
Add throws clause for Java.lang.ClassNotFoundException, se não gerar, incluir manualmente e importar também a classe. Digite , SQLException;
Class.forName("com.mysql.jdbc.Driver"); //8- Para importar este driver para a classe, digite Class.forName(“”com.mysql.jdbc.Driver);,
connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1/jogadores","root","ifspals2017");
System.out.println("Conectado com sucesso");
}

public static void main(String[] args) { //1- Criar o método Main usando a expressão “psvm” e pressionando o TAB
// Método Main
try { //2- Em seguida digitar “trycatch” e pressionar o TAB para criar. Criar um objeto chamando a classe digitando new MyConnection(); . No catch, com o objetivo de
ocorrer algum erro e não conectar, digite, System.out.println(“Não conectado”); ;
new MyConnection();
} catch (Exception e) {
System.out.println("Não conectado");
}
}
}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
OUTRO – Iniciar conexão :

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
OUTRO – Iniciar conexão : Outro método – (https://www.youtube.com/watch?v=_I2U5YlREYo)

7- Precisa agora colocar a Biblioteca para poder digitar o comando que a procura. Clique em Libraries com botão direito e escolha Add
Library..., procure por MySQL JDBC Driver e clique no botão Add Library;
8-

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

BANCO DE DADOS MYSQL E NETBEANS - CONEXÃO – Pre-requisitos para o NetBeans conectar ao banco de dados mySQL
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Conforme tutorial em: (https://netbeans.org/kb/docs/ide/mysql_pt_BR.html)

Softwares necessários: (Informações salvas em PDF)


• NetBeans IDE
• JDK (Java Development Kit)
• Servidor de banco de dados MySQL

O JDK necessita de mais espaço em disco porque ele contém o JRE juntamente com várias ferramentas de desenvolvimento. Inclui o JVM, as
bibliotecas centrais e outros componentes adicionais para executar aplicativos e applets criados em Java.
(https://www.java.com/pt_BR/download/faq/techinfo.xml)

Obs.: O JDK (Java Development Kit) já possui todo o ambiente necessário para desenvolver e executar aplicativos em java ele já vem com uma cópia
do JRE que, de repente você pode distribuir junto com sua aplicação em algum tipo de instalador ou CD, por exemplo, para seus clientes não
precisarem baixar e/ou instalar o Java pessoalmente... O JRE (Java Runtime Envirorment) é o ambiente de execução Java, é o mínimo que você
precisa ter instalado para poder rodar um aplicativo Java.

Desde a sua criação no início dos anos 90 por James Gosling, da Sun Microsystems (que hoje pertence à Oracle Corporation) até os dias de hoje, o
Java tem feito bastante sucesso tanto entre os programadores quanto usuários comuns por permitir um rápido desenvolvimento e por ter a capacidade
de rodar em qualquer sistema que possua suporte à Java Virtual Machine (JVM), ou Máquina Virtual Java.

Através da JVM, não importa em qual sistema operacional um programa foi escrito, seja Windows, Linux ou Mac OS, ele irá rodar sem a necessidade
de modificações. Para ter a Máquina Virtual Java em seu sistema é necessário instalar o JRE (Java Runtime Environment), um programa gratuito que
permite ao usuário rodar aplicativos Java em seu computador.

Para aqueles que desejam desenvolver aplicações, é necessário instalar o JDK (Java Development Kit), pacote que inclui tudo o que é necessário para
escrever aplicações e também o JRE para poder rodá-los após finalizá-los. Muitos programadores fazem uso de IDEs (Integrated Development
Environment) de programação, como Eclipse e Netbeans, para ajudá-los durante o desenvolvimento.

Muitos sites, normalmente com conteúdo multimídia (ou mesmo seu internet banking), necessitam que o usuário instale o Java para funcionar
corretamente, e quando pedem para instalá-lo antes de continuar estão se referindo ao JRE, que inclui a JVM necessária para rodar os aplicativos
necessários.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ATALHOS E COMANDOS NO NETBEANS

Diferença entre CHAR e VARCHAR


CHAR é texto de comprimento fixo.
VARCHAR é texto de comprimento variável.

Qual utilizar, depende do caso...


Na prática, se vc tiver um CHAR(10) que armazene um valor de apenas 3 posições, por exemplo, as outras 7 posições serão ocupadas com brancos,
consumindo o mesmo espaço em disco e memória para todos os valores... Já se vc tiver um VARCHAR(10) e armazenar um valor com as mesmas 3
posições, apenas as 3 posições serão preenchidas e, consequentemente, o espaço utilizado é reduzido.

CHAR é muito utilizado para armazenamento de valores com comprimentos que são sempre fixos, ex: Sigla de um Estado, numeração de CEP, etc...
Pessoalmente, uso muito pouco CHAR... normalmente nos exemplos q citei acima e em colunas tipo ´flag´

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Criar método Main usando expressão:
Digita psvm e pressiona o TAB.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Limpar pasta de cachê do NetBeans – Apagar tudo: - C:\Users\ALS\AppData\Local\NetBeans\Cache\8.1\index

t's caused by NetBeans retaining some of the old source and/or compiled code in its cache and not noticing that e.g. some of the code's dependencies
(i.e. referenced packages) have changed, and that a proper refresh/recompile of the file would be in order.

The solution is to force that refresh by either:

a) locating & editing the offending source file to force its recompilation (e.g. add a dummy line, save, remove it, save again),
b) doing a clean build (sometimes will work, sometimes won't),
c) disabling "Compile on save" (not recommended, since it can make using the IDE a royal PITA), or
d) simply remove NetBeans cache by hand, forcing the recompilation.

As to how to remove the cache:

If you're using an old version of NetBeans:

delete everything related to your project in .netbeans/6.9/var/cache/index/ (replace 6.9 with your version).

If you're using a newer one:


delete everything related to your project in AppData/Local/NetBeans/Cache/8.1/index/ (replace 8.1 with your version).

The paths may vary a little e.g. on different platforms, but the idea is still the same.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ajustar o tamanho das colunas no JTable: - Java JTable setting Column Width

I have a JTable in which I set the column size as follows:

table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.getColumnModel().getColumn(0).setPreferredWidth(27);
table.getColumnModel().getColumn(1).setPreferredWidth(120);
table.getColumnModel().getColumn(2).setPreferredWidth(100);
table.getColumnModel().getColumn(3).setPreferredWidth(90);
table.getColumnModel().getColumn(4).setPreferredWidth(90);
table.getColumnModel().getColumn(6).setPreferredWidth(120);
table.getColumnModel().getColumn(7).setPreferredWidth(100);
table.getColumnModel().getColumn(8).setPreferredWidth(95);
table.getColumnModel().getColumn(9).setPreferredWidth(40);
table.getColumnModel().getColumn(10).setPreferredWidth(400);

This works fine, but when the table is maximized, I get empty space to the right of the last column. Is it possible to make the last column resize to the
end of the window when resized?

I found AUTO_RESIZE_LAST_COLUMN property in docs but it does not work.

Edit: JTable is in a JScrollPane its prefered size is set.

Na prática:

public ListaClientesFrame() {
initComponents(); //Inicializar os componetes.
//jTableLista.getColumnModel().getColumn(0).setPreferredWidth(10);

jTableLista.setAutoResizeMode(jTableLista.AUTO_RESIZE_OFF);
jTableLista.getColumnModel().getColumn(0).setPreferredWidth(70);
jTableLista.getColumnModel().getColumn(1).setPreferredWidth(220);
jTableLista.getColumnModel().getColumn(2).setPreferredWidth(70);
jTableLista.getColumnModel().getColumn(3).setPreferredWidth(120);

loadTable(); // Carrega os dados da tabela no banco e completa a lista.


}

Potrebbero piacerti anche