我的代码在某种程度上是错误的:/
public static Connection con = null;
public static void createConnection()
{
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String str1 = "s1.infinitysrv.com:3306";
String str2 = "sagesca1_hiscores";
String str3 = "sagesca1_server";
String str4 = "pass";
con = DriverManager.getConnection("jdbc:mysql://" + str1 + "/" + str2, str3, str4);
stmt = con.createStatement();
System.out.println("Connection to SQL database successful!");
} catch (Exception localException) {
System.out.println("Connection to SQL database failed");
localException.printStackTrace();
}
}
public static Map<String, Clan> clans;
public static boolean sendClans(){
try {
try {
clans = (HashMap<String, Clan>) XStreamUtil.getXStream().fromXML(new FileInputStream("data/clans.xml"));
} catch (Exception e) {
clans = new HashMap<String, Clan>();
}
for (Map.Entry<String, Clan> entries : clans.entrySet()) {
final Clan clan = entries.getValue();
clan.setTransient();
PreparedStatement ps = con.prepareStatement("INSERT INTO clans(name,roomOwner) values (?, ?)");
ps.setString(1, clan.getName());
ps.setString(2, clan.getOwner());
ps.executeUpdate();
}
} catch (SQLException e) {
//e.printStackTrace();
return false;
}
return true;
}
这是我的 ClanManager 调用方法 sendClan
private Map<String, Clan> clans;
@SuppressWarnings("unchecked")
public ClanManager() {
Logger.getInstance().info("Loading clans....");
try {
clans = (HashMap<String, Clan>) XStreamUtil.getXStream().fromXML(new FileInputStream("data/clans.xml"));
} catch (Exception e) {
clans = new HashMap<String, Clan>();
}
for (Map.Entry<String, Clan> entries : clans.entrySet()) {
final Clan clan = entries.getValue();
clan.setTransient();
//Hiscores.sendClans();
}
Logger.getInstance().info("Loaded " +clans.size()+ " SageScape clans.");
}
我不太确定问题是什么,但是当我运行我的服务器时,错误指向了这一点:
PreparedStatement ps = con.prepareStatement("INSERT INTO clans(name,roomOwner) values (?, ?)");
我不知道代码有什么问题,如果有人可以帮助我,我会永远爱你。