По сути, я просто возился с SQL и решил создать простую программу, чтобы спасти всех моих «клиентов» из моего «магазина». Вот код Store.java (основной класс)
Код: Выделить всё
import java.util.UUID;
import com.galanjulio.store.customers.Customer;
import com.galanjulio.store.sql.SQL;
public class Store {
public static void main(String[] args){
System.out.println("============================");
SQL sql = new SQL();
sql.checkTable();
System.out.println("============================");
Customer c = new Customer();
c.setName("Tom");
c.setUniqueId(UUID.randomUUID());
c.setCredits(0);
sql.addToDatabase(c);
}
Код: Выделить всё
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import com.galanjulio.store.customers.Customer;
public class SQL {
private Connection con;
private Statement st = null;
private String connectionString =
"jdbc:mysql://167.114.67.166:3306/store?user=user&password=pass";
public void checkTable(){
String query = "CREATE TABLE IF NOT EXISTS `customers` (uuid VARCHAR(36), name VARCHAR(15), credits INT);";
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(connectionString);
st = con.createStatement();
st.executeUpdate(query);
System.out.println("Database created successfully...");
}catch(SQLException se){
//Handle errors for JDBC
System.out.println(se.getMessage());
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}finally{
//finally block used to close resources
try{
if(st != null)
st.close();
}catch(SQLException se2){
}// nothing we can do
try{
if(con != null)
con.close();
}catch(SQLException se){
System.out.println(se.getMessage());
}//end finally try
}//end try
}
public void addToDatabase(Customer c){
String query = "INSERT INTO `customers` (uuid, name, credits) VALUES (" + c.getUniqueId() + ", " + c.getName() + ", " + c.getCredits() + ");";
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(connectionString);
st = con.createStatement();
st.executeUpdate(query);
System.out.println("Added " + c.getName() + " to the database");
}catch(SQLException se){
//Handle errors for JDBC
System.out.println(se.getMessage());
}catch(Exception e){
//Handle errors for Class.forName
System.out.println("Class.forName has thrown an exception!");
}finally{
//finally block used to close resources
try{
if(st!=null)
st.close();
}catch(SQLException se2){
}// nothing we can do
try{
if(con != null)
con.close();
}catch(SQLException se){
System.out.println(se.getMessage());
}//end finally try
}//end try
}
Код: Выделить всё
Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused: connect
STACKTRACE:
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.(Unknown Source)
at java.net.Socket.(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
at com.mysql.jdbc.Connection.(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.galanjulio.store.sql.SQL.checkTable(SQL.java:26)
at com.galanjulio.store.Store.main(Store.java:15)
** END NESTED EXCEPTION **
Last packet sent to the server was 0 ms ago.
============================
Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused: connect
STACKTRACE:
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.(Unknown Source)
at java.net.Socket.(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
at com.mysql.jdbc.Connection.(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.galanjulio.store.sql.SQL.addToDatabase(SQL.java:57)
at com.galanjulio.store.Store.main(Store.java:24)
** END NESTED EXCEPTION **
Last packet sent to the server was 0 ms ago.
Заранее спасибо за помощь!
Подробнее здесь: https://stackoverflow.com/questions/317 ... ectexcepti
Мобильная версия