Advertisement
berkay_sa

mysql auslesen in java

Jun 22nd, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.72 KB | None | 0 0
  1. package sds011;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8.  
  9. /**
  10. * Das Programm erstellt eine Verbindung zu einer MySQL Datenbank her und ließt
  11. * die Daten von einer Tabelle aus. Dies kann beliebig erweitert werden. Hierzu
  12. * muss eine Bibliothek für MySQL importiert werden und benutzt werden.
  13. *
  14. * @author ST-Page.de
  15. *
  16. */
  17. public class mysqlauslesen {
  18. private String db_host = "localhost";
  19. private String db_port = "3306";
  20. private String db_user = "sds011";
  21. private String db_pass = "sds011";
  22. private String db_base = "phpmyadmin"; //ist das wirklich phpmyadmin?
  23.  
  24. private static final String DRIVER = "com.mysql.jdbc.Driver";
  25. private Connection connection = null;
  26.  
  27. /**
  28. * Eine Verbindung zur Datenbank wird hergestellt und von einer Tabelle
  29. * werden alle Einträge ausgelesen.
  30. *
  31. * @throws SQLException
  32. * Wenn keine Verbindung zu einer Datenbank hergestellt werden
  33. * konnte.
  34. * @throws ClassNotFoundException
  35. * Wenn der Datenbanktreiber nicht gefunden werden konnte.
  36. */
  37. public void createConnection() throws SQLException, ClassNotFoundException {
  38. // Treiber initialisieren
  39. Class.forName(DRIVER);
  40. // Uri für die Verbindung zu der Datenbank
  41. String mySqlUrl = "jdbc:mysql://" + db_host + ":" + db_port + "/"
  42. + db_base;
  43. // Verbindung herstellen.
  44. connection = DriverManager.getConnection(mySqlUrl, db_user, db_pass);
  45. }
  46.  
  47. /**
  48. * Alle Einträge der Datenbanktabelle, werden in der Konsole gedruckt. Statt
  49. * {@link Statement} kann man auch {@link PreparedStatement} nutzen, welche
  50. * schneller eine Abfrage durchführen müssten. Die Abfragezeit beträgt ca. 2
  51. * Sekunden.
  52. *
  53. * @param nameOfTable
  54. * Name der Tabelle, welche ausgelesen werden.
  55. * @throws SQLException
  56. * Wenn die Abfrage an der Datenbank nicht gemacht werden
  57. * konnte.
  58. */
  59. public void showAll(String nameOfTable) throws SQLException {
  60. // Statement mit Benennung der Tablle
  61. String query = "SELECT * FROM " + nameOfTable;
  62. Statement stmt = connection.createStatement();
  63. ResultSet rs = stmt.executeQuery(query);
  64. int columns = rs.getMetaData().getColumnCount();
  65. System.out.println("Alle Einträge zu den Personen ");
  66. System.out.println();
  67. // Ich zeige die Tabellenspaltennamen an.
  68. for (int i = 1; i <= columns; i++)
  69. System.out.print(rs.getMetaData().getColumnLabel(i) + "\t\t");
  70. System.out.println();
  71. System.out.println();
  72. // Ich zeige den Inhalt der Tabelle an. Normaler Weise würde man die
  73. // Ergebnisse in eine Liste schreiben und diese zurück liefern.
  74. while (rs.next()) {
  75. for (int i = 1; i <= columns; i++) {
  76. System.out.print(rs.getString(i) + "\t\t");
  77. }
  78. System.out.println();
  79. }
  80. // Ich schließe die Streams wieder und gebe die Tabelle wieder frei.
  81. rs.close();
  82. stmt.close();
  83. }
  84.  
  85. /**
  86. * Ich schließe die Verbindung zu der Datenbank und gebe den Port am
  87. * Computer frei.
  88. *
  89. * @throws SQLException
  90. * Wenn die Verbindung nicht geschlossen werden konnte.
  91. */
  92. public void closeProgramm() throws SQLException {
  93. this.connection.close();
  94. }
  95.  
  96. /**
  97. * Hier startet das Programm und ruft die einzelnen notwendigen Methoden
  98. * auf, die Methoden zum Bearbeiten der Datenbank können dazwischen stehen.
  99. *
  100. * @param args
  101. * Damit könnte man das Programms später noch steuern und mit
  102. * INSERT, DELETE, UPDATE arbeite.
  103. */
  104. public static void main(String[] args) {
  105. mysqlauslesen app = new mysqlauslesen();
  106. try {
  107. // Verbindung herstellen
  108. app.createConnection();
  109. // Ergebnisse anzeigen.
  110. app.showAll("pma_history");
  111. // Verbindung schließen
  112. app.closeProgramm();
  113. } catch (SQLException e) {
  114. System.err.println("SQL Fehler - " + e.getLocalizedMessage());
  115. e.printStackTrace();
  116. } catch (ClassNotFoundException e) {
  117. System.err.println("Der Datenbank treiber wurde nicht gefunden. - "
  118. + e.getLocalizedMessage());
  119. e.printStackTrace();
  120. }
  121. // Programm beenden.
  122. System.exit(0);
  123. }
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement