MySQL 构造函数返回空值?

问题描述 投票:0回答:0

enter image description here我正在尝试编写一个 minecraft bukkit 插件,我想使用 mysql。 我设置 mysql 和 sqlgetter 没问题。在我的另一个类中,我想调用 sqlgetter 函数,所以我放置了构造函数,但是每当我通过构造函数调用函数时,它都会返回 null。 我尝试了日食建议的一切。但我有点卡住了。启动服务器时我没有遇到错误,但正如我所说,当我使用命令 sqlgetter 构造函数时返回 null。

其他类调用函数

package net.linex.komutlar;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import net.linex.mysql.SQLGetter;

public class TarafSecim implements CommandExecutor{



    private SQLGetter sqlgetter;
    
    public TarafSecim(SQLGetter sqlgetter) {
        this.sqlgetter = sqlgetter;
    }


    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    
        Player p = (Player) sender;
        
        if(label.equalsIgnoreCase("side")) {
            
            if(args[0] == null) {
                p.sendMessage("You can choose Red or Blue sides");
            }
        
            
            if(args[0].equalsIgnoreCase("red")) {
                if(!sqlgetter.tarafvar(p.getUniqueId())) {
                    sqlgetter.tarafEkle(p.getUniqueId(), "kirmizi");
                }else {
                    p.sendMessage("You are already in a side.");
                }
            }  
            if(args[0].equalsIgnoreCase("blue")) {
                if(!sqlgetter.tarafvar(p.getUniqueId())) {
                    sqlgetter.tarafEkle(p.getUniqueId(), "mavi");
                }else {
                    p.sendMessage("You are already in a side.");
                }
            }
        }
        
        
        
        return false;
    }
}

SQLGETTER 类

public class SQLGetter {
    
    private Main plugin;
    
    public SQLGetter(Main plugin) {
        this.plugin = plugin;
    }

    

    public void createTable() {
        PreparedStatement ps;
        
        try {
            ps = plugin.mysql.getConnection().prepareStatement("CREATE TABLE IF NOT EXISTS taraf" + "(NAME VARCHAR(100),UUID VARCHAR(100), TARAF VARCHAR(100), PRIMARY KEY(NAME))");
            ps.executeUpdate();
        }catch(SQLException e) {
            e.printStackTrace();
        }
    }
    
    public void createPlayer(Player p) {
        PreparedStatement ps;
        try {
            UUID uuid = p.getUniqueId();
            ps = plugin.mysql.getConnection().prepareStatement("SELECT * FROM taraf WHERE UUID=?");
            ps.setString(1, uuid.toString());
            ResultSet results = ps.executeQuery();
            results.next();
            
            if(!exist(uuid)) {
                PreparedStatement ps2 = plugin.mysql.getConnection().prepareStatement("INSERT IGNORE INFO taraf "
                        + "(NAME,UUID) VALUES(?,?)");
                ps2.setString(1, p.getName());
                ps2.setString(2, p.getUniqueId().toString());
                ps2.executeUpdate();
                return;
            }
        }catch(SQLException e) {
            e.printStackTrace();
        }
    }
java mysql constructor minecraft bukkit
© www.soinside.com 2019 - 2024. All rights reserved.