Advertisement
Guest User

Untitled

a guest
Mar 24th, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. package DbInterface;
  2.  
  3. import java.sql.*;
  4. import java.util.Vector;
  5.  
  6. public class DbConnection {
  7.  
  8. private static Connection db; // La connessione col Database
  9. private static boolean connesso; // Flag che indica se la connessione e' attiva o meno
  10. private static DbConnection instance; //istanza statica della classe
  11. private static String driver = "com.mysql.jdbc.Driver";
  12. private static String url = "jdbc:mysql://127.0.0.1:3306/";
  13. private static String dbName = "mioprogetto";
  14. private static String userName = "luca";
  15. private static String password = "polo";
  16.  
  17.  
  18. public static DbConnection getInstance() {
  19. if(instance == null)
  20. instance = new DbConnection();
  21. if(connesso != true)
  22. connetti( url , dbName , userName , password );
  23. return instance;
  24. }
  25.  
  26. // Apre la connessione con il Database
  27. public static boolean connetti(String url, String nomeDB, String nomeUtente, String pwdUtente) {
  28.  
  29. connesso = false;
  30. try {
  31.  
  32. // Carico il driver JDBC per la connessione con il database MySQL
  33. Class.forName(driver);
  34. db = DriverManager.getConnection(url+nomeDB , nomeUtente , pwdUtente);
  35. connesso=true;
  36.  
  37. } catch (Exception e) {
  38. e.printStackTrace();
  39. }
  40. return connesso;
  41. }
  42.  
  43.  
  44.  
  45. // Esegue una query di selezione dati sul Database
  46. // query: una stringa che rappresenta un'istruzione SQL di tipo SELECT da eseguire
  47. // colonne: il numero di colonne di cui sara' composta la tupla del risultato
  48. // ritorna un Vector contenente tutte le tuple del risultato
  49.  
  50.  
  51. public Vector<String[]> eseguiQuery(String query) {
  52. Vector<String[]> v = null;
  53. String [] record;
  54. int colonne = 0;
  55. try {
  56. Statement stmt = db.createStatement(); // Creo lo Statement per l'esecuzione della query
  57. ResultSet rs = stmt.executeQuery(query); // Ottengo il ResultSet dell'esecuzione della query
  58. v = new Vector<String[]>();
  59. ResultSetMetaData rsmd = rs.getMetaData();
  60. colonne = rsmd.getColumnCount();
  61.  
  62. while (rs.next()) { // Creo il vettore risultato scorrendo tutto il ResultSet
  63. record = new String[colonne];
  64. for (int i=0; i<colonne; i++) record[i] = rs.getString(i+1);
  65. v.add( (String[]) record.clone() );
  66. }
  67. rs.close(); // Chiudo il ResultSet
  68. stmt.close(); // Chiudo lo Statement
  69. } catch (Exception e) { e.printStackTrace(); }
  70.  
  71. return v;
  72. }
  73.  
  74. // Esegue una query di aggiornamento sul Database
  75. // query: una stringa che rappresenta un'istuzione SQL di tipo UPDATE da eseguire
  76. // ritorna TRUE se l'esecuzione e' adata a buon fine, FALSE se c'e' stata un'eccezione
  77. public boolean eseguiAggiornamento(String query) {
  78. int numero = 0;
  79. boolean risultato = false;
  80. try {
  81. Statement stmt = db.createStatement();
  82. numero = stmt.executeUpdate(query);
  83. risultato = true;
  84. stmt.close();
  85. } catch (Exception e) {
  86. e.printStackTrace();
  87. risultato = false;
  88. }
  89. return risultato;
  90. }
  91.  
  92. // Chiude la connessione con il Database
  93. public void disconnetti() {
  94. try {
  95. db.close();
  96. connesso = false;
  97. } catch (Exception e) { e.printStackTrace(); }
  98. }
  99.  
  100. public boolean isConnesso() { return connesso; } // Ritorna TRUE se la connessione con il Database e' attiva
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement