Ir para conteúdo

[Tutorial Plugin] Usando MySQL em seus Plugins!


!Afonso

Posts Recomendados

[Tutorial Plugin]
Usando MySQL em seus Plugins!

 

Fala aê pessoal, tranquilos? Como muitos sabem sou o Afonso e sou mais conhecido na parte de scripts, porém hoje venho trazer um tutorial de plugin usando mysql, em 1 lugar queria agradecer ao huskehhh e o tips48 do fórum bukkit que merecem seus devidos créditos neste tutorial. Ah, e antes de lerem este tutorial saibam que Statement é o mesmo que Declaração em português!

Primeiramente coloque isso no seu projeto em sua área de trabalho: 
https://github.com/Huskehhh/MySQL

 

Em seguida adicione em sua class principal:

  1. MySQL MySQL = new MySQL(plugin, "host.name", "port", "database", "user", "pass");
  2. Connection c = null

Importe a conexão java.sql.Connection e Logo após abra sua conexão
Em onEnable() adicione:

 

c = MySQL.openConnection();

 

Agora você terminou de se conectar ao banco de dados.

Obtendo Valores:

 

Para obter valores do banco de dados, é necessário configurar mais algumas coisas. Statements(afirmações):

 

[java.sql.Statement]

Statements podem ser declarados assim: 

 

Statement statement = c.createStatement();

 

'c' sendo a conexão

 

Agora nós começamos a recuperar valores.

 

  1. ResultSet res = statement.executeQuery("SELECT * FROM tokens WHERE PlayerName = '" + name + "';");
  2. res.next();

Este é um exemplo que Huskehhh usou dos outros plugins dele, ele recupera informações dos tokens db, onde a tabela 'PlayerName' = a variável 'name'.

Então podemos obter as informações usando

 

 

  1. if(res.getString("PlayerName") == null) {
  2. tokens = 0;
  3. } else {
  4. tokens = res.getInt("tokens");
  5. }

 

Setando informações:

 

Para definir as informações no banco de dados, usamos Statements novamente, mas nós usamos um método diferente no Statement.

Código de exemplo:

 

 

  1. statement.executeUpdate("INSERT INTO tokens (`PlayerName`, `tokens`) VALUES ('" + name + "', '0');");
  2. System.out.println("Inserted info");

 

Que irá inserir na tabela, lembrando que isso é dos tutoriais de Huskehhh

 

 

Statements preparados:

 

Para lidar com statements preparados, faça algo como isso:

 

 

  1. PreparedStatement ps = connection.prepareStatement("INSERT INTO `yourTable`(X, Y, Z) VALUES (?, ?, ?);");
  2. ps.setString(1, "Este é o primeiro ponto de interrogação");
  3. ps.setString(2, "Segundo ponto de interrogação.");
  4. ps.setString(3, " Acho que você entendeu agora.");
  5. ps.executeUpdate();

 

Créditos ao evilmidget38 por esse código.

 

Se você estiver tendo problemas para obter um NullPoint ao chamar 

 

Statement statement = c.createStatement();

 

Tente colocar antes de fazer o Statement

 

Statement s = MySQL.open().createStatement();

 

Se gostaram do tutorial deixem o like, querem adicionar algo ao tutorial? MP, terá os créditos logo na parte que colocar.
Meu Blog: http://afonsohub.blogspot.com.br/

 

Link para o comentário
Compartilhar em outros sites

Bom tutorial, mas não acho que essa seria a área correta.

Obrigado, porém qual seria ?

 

Já vi esse tutorial no fórum bukkit.

 

Não manjo de mysql, mas talvez ajude quem for usar.

 

Bom tutorial...

Exato, porém: 

 

 ao huskehhh e o tips48 do fórum bukkit

 

 

Obrigado!

Link para o comentário
Compartilhar em outros sites

Nem pra falar pro povo para fazer as operações em async...

Por que async ?

 

Você apenas traduziu.. Meehhh

Tipo, ensinou a pegar e setar algo em uma tabela, tá, mas e a tabela? Como cria? .. Além que não precisa colocar ' nem ; nos Statements

Se você diz, você está certo.

Link para o comentário
Compartilhar em outros sites

Você apenas traduziu.. Meehhh

Tipo, ensinou a pegar e setar algo em uma tabela, tá, mas e a tabela? Como cria? .. Além que não precisa colocar ' nem ; nos Statements

 

E qual o problema de ele traduzir ? Se ele tem a capacidade de traduzir e compartilhar com a comunidade eu não vejo problema nenhum.

 

O tópico, como você deve ter visto, é pra ensinar a usar MySQL nos plugins, não ensinar a criar tabelas nem ensinar a linguagem SQL.

Link para o comentário
Compartilhar em outros sites

E qual o problema de ele traduzir ? Se ele tem a capacidade de traduzir e compartilhar com a comunidade eu não vejo problema nenhum.

 

O tópico, como você deve ter visto, é pra ensinar a usar MySQL nos plugins, não ensinar a criar tabelas nem ensinar a linguagem SQL.

Vlw leo, mas não vale apena discutir com idiotas.

 

Belo tutorial.

Vlw

Link para o comentário
Compartilhar em outros sites

porque devemos em um plugin fazer queries no sql em async? Sei não.....................................

 

 Sério pensa bem

Eu sei o motivo.. mas pergunto para você, é mesmo necessário?

 

você e DEV também?

Sim.

Link para o comentário
Compartilhar em outros sites

Eu sei o motivo.. mas pergunto para você, é mesmo necessário?

 

Sim.

 Se você esta ensinando conexão de banco de dados nessa forma mais básica, o minimo que deve-se esperar é que o leitor seja leigo no assunto, ou seja, há uma grande chance de ele não saber sobre isso....

 

 Ou seja

 

 Sim, é muito necessário, não vai lhe custar mais que 4 minutos escrevendo sobre.

Link para o comentário
Compartilhar em outros sites

Em 20/01/2022 em 11:50, yRicardinBaum disse:

Otimo tutorial, porém achei o óodigo um pouco desatualizado. Existe uma api melhor para utilizar sql e mysql: https://github.com/HenryFabio/sql-provider 
Fica a dica :D

Olha a data do tópico filho lógico que vai estar desatualizado

Link para o comentário
Compartilhar em outros sites

4 horas atrás, SrBlecaute disse:

Olha a data do tópico filho lógico que vai estar desatualizado

eu me expressei errado, eu sei que por o código ser antigo, consequentemente ele vai ser desatualizado, eu só comentei com o intuito de informar uma api mais recente.

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...