2014-10-16 4 views
0

Хорошо, что я действительно новый для java, и я не знаю, как это сделать на самом деле. если бы вы, ребята, могли мне помочь, я мог бы еще многое понять. Я получил свой основной класс (Mysql.java) и класс Connection (Connection.java). Теперь я хочу, чтобы он подключался к базе данных с помощью компонента Connection.java. но я хочу использовать его из Mysql.java. Я получил это прямо сейчас:Подключитесь к MySQL с Java

Mysql.java

public class Mysql { 

    public static void main(String[] args) { 
     Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
     int w = screenSize.width; 
     JFrame frame = new MainFrame(w/5, 100, 2*w/5, 0); 
     frame.show(); 
     new Connection(); 
    } 


} 
class MainFrame extends JFrame { 
    MainFrame(int width, int height, int x, int y) { 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setTitle("Todothelydoo - To do planner"); 
     setSize(width, height); 
     setLocation(x, y); 
     JPanel mainPanel = new JPanel(); 
     mainPanel.setBackground(Color.blue); 
    } 
} 

Connection.java

public class Connection { 
    public static Connection getConnection() throws SQLException { 
     Connection conn = null; 
     try 
     { 
      Class.forName("com.mysql.jdbc.Driver"); 
      String url = "jdbc:mysql://h2318966.stratoserver.net/"; 
      String user = "root"; 
      String password = ""; 
      conn = (Connection) DriverManager.getConnection(url, user, password); 
      System.out.println("Connection established"); 
     } 
     catch(ClassNotFoundException e) 
     { 
      System.out.println(e.getMessage()); 
      System.exit(0); 
     } 
     catch(SQLException e) 
     { 
      System.out.println(e.getMessage()); 
      System.exit(0); 
     } 
     return conn; 
    } 
} 

Я попытался с помощью нового соединения в mysql.java, но им вероятно, был полным идиотом. Если бы вы, ребята, могли мне помочь, это было бы здорово.

+1

Вам нужно вызвать метод 'getConnection()' на экземпляр 'Connection', который вы создали в основном методе для вашего класса' Mysql'. – Philip

+0

У вас есть класс под названием «Соединение», и вы пытаетесь использовать 'java.sql.Connection' в том же классе. Это предположительно вызывает столкновение имен - вызовите ваш класс чем-то другим. –

+0

У меня получилось: new Msqlconn.getConnection(); это неправильно? я не понимаю. Im sorry – user2773749

ответ

0

Вы можете использовать следующий код с собственным именем хоста и базы данных в строке url. Я протестировал его.

Примечание: Включить MySQL-connector.jar в проекте

Mysql.java

import java.awt.Color; 
    import java.awt.Dimension; 
    import java.awt.Toolkit; 
    import java.sql.SQLException; 

    import javax.swing.JFrame; 
    import javax.swing.JPanel; 

    public class Mysql { 

    public static void main(String[] args) { 
     Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
     int w = screenSize.width; 
     JFrame frame = new MainFrame(w/5, 100, 2*w/5, 0); 
     frame.show(); 
     try { 
      new Connection().getConnection(); 
     } catch (SQLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 


} 
class MainFrame extends JFrame { 
    MainFrame(int width, int height, int x, int y) { 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setTitle("Todothelydoo - To do planner"); 
     setSize(width, height); 
     setLocation(x, y); 
     JPanel mainPanel = new JPanel(); 
     mainPanel.setBackground(Color.blue); 
    } 
} 

Connection.java

import java.sql.DriverManager; 
import java.sql.SQLException; 

public class Connection { 
    public static java.sql.Connection getConnection() throws SQLException { 
     java.sql.Connection conn = null; 
     try 
     { 
      Class.forName("com.mysql.jdbc.Driver"); 
      String url = "jdbc:mysql://localhost/database_name"; 
      String user = "root"; 
      String password = ""; 
      conn = DriverManager.getConnection(url, user, password); 
      System.out.println("Connection established"); 
     } 
     catch(ClassNotFoundException e) 
     { 
      System.out.println(e.getMessage()); 
      System.exit(0); 
     } 
     catch(SQLException e) 
     { 
      System.out.println(e.getMessage()); 
      System.exit(0); 
     } 
     return conn; 
    } 
} 
+0

Код, кажется, работает, но каждый раз, когда я запускаю его, консоль просто говорит: com.mysql.jdbc.Driver Я установил его. почему это так говорит? – user2773749

+0

Я уже говорил, что вы добавляете JAR-файл в свой путь построения проекта. Загрузите и включите файл mysql-connector-java-5.1.23-bin.jar в свой проект. Вы можете найти это здесь. [ссылка] (http://www.java2s.com/Code/JarDownload/mysql/mysql-connector-java-5.1.23-bin.jar.zip) –

0

общественный класс Mysql распространяется Connectionn {

public static void main(String[] args) { 
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
    int w = screenSize.width; 
    JFrame frame = new MainFrame(w/5, 100, 2*w/5, 0); 
    frame.show(); 
    Connectionn con=new Connectionn(); 
    try { 
     con.getConnection(); 
    } catch (SQLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

}

+0

public class Connectionn { public void getConnection() выбрасывает SQLException { Connection conn = null; try { Класс.forName ("com.mysql.jdbc.Driver"); String url = "jdbc: mysql: // hostname: port/dbname"; String user = "username"; Строка password = "password"; conn = DriverManager.getConnection (url, user, password); System.out.println («Установлено соединение»); } улов (ClassNotFoundException е) { } поймать (SQLException е) { System.out.println (e.getMessage()); Система.Выход (0); } } } –

+0

1st create Mysql class и exted Класс Conection, создайте объект класса класса класса Mysql. метод вызова conection (getConnection()) и mysql-connector-java-5.1.14-bin.jar для добавления в ваши библиотеки проекта (Build Path). затем попробуйте, он будет работать –