Ir para conteúdo
  • 0

Como crio uma db local?


Solitario

Pergunta

Bom... queria armazenar varios dados de bans e tal... porém em um arquivo local sem ser mysql... no caso queria que fosse sqlite... tentei fazer da seguinte maneira porém não deu certo:

package me.arthurgui.sbans.api;

import me.arthurgui.sbans.Main;

import java.io.File;
import java.nio.file.FileSystems;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class SQLiteAPI {
    private Connection connection;

    public SQLiteAPI() {

    }

    public void connection() {
        if (!isConnected()) {
            try {
                connection = DriverManager.getConnection("jdbc:sqlite:"+ Main.instance.getDataFolder().getAbsolutePath() + FileSystems.getDefault().getSeparator() + "bans.db");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    public void deconnection() {
        if (isConnected()) {
            try {
                connection.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    private boolean isConnected() {
        try {
            if ((connection == null) || (connection.isClosed()) || (!connection.isValid(5))) {
                return false;
            } else {
                return true;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }

    private Connection getConnection() {
        return connection;
    }

    public void tabela() {
        try {

            PreparedStatement sts = getConnection().prepareStatement("CREATE TABLE IF NOT EXISTS `bans` (`ID` int(11),`Nome` varchar(500), `UUID` varchar(500), `IP` varchar(500), `Motivo` varchar(500), `Operador` varchar(500), `Start` varchar(500), `End` varchar(500), `Type` varchar(500))");
            sts.executeUpdate();
            sts.close();

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

Aparece algum erro? ou coisa do tipo? provavelmente não existe esse arquivo...

Como eu uso:

File fileDB = new File[...];				
if (!fileDB.exists()) {
    fileDB.createNewFile();
}
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:" + fileDB.getAbsolutePath());
Link para o comentário
Compartilhar em outros sites

 

Aparece algum erro? ou coisa do tipo? provavelmente não existe esse arquivo...

Como eu uso:

File fileDB = new File[...];				
if (!fileDB.exists()) {
    fileDB.createNewFile();
}
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:" + fileDB.getAbsolutePath());

Criei o arquivo ... porém da este erro:

NiCXNki.png

Pra que serve exatamente Class.forName("org.sqlite.JDBC"); .-. ?

@Edit

Opa .-. deu certo com o Class.forName..

Editado por Solitario
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...