Advertisement
Guest User

Untitled

a guest
May 23rd, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.54 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import java.io.InputStreamReader;
  5. import java.sql.Connection;
  6. import java.sql.DatabaseMetaData;
  7. import java.sql.DriverManager;
  8. import java.sql.ResultSet;
  9. import java.sql.ResultSetMetaData;
  10. import java.sql.SQLException;
  11. import java.sql.Statement;
  12. import java.util.StringTokenizer;
  13.  
  14.  
  15. public class SqlClient {
  16.  
  17.     /**
  18.      * @param args
  19.      */
  20.     public static void main(String[] args) {
  21.         if(args.length<2) {
  22.             System.out.println("RTFM DUDE!");
  23.             return;
  24.         }
  25.         String url = "jdbc:mysql://" + args[0] + "/";
  26.         String database = args[1];
  27.         Connection connection;
  28.         Statement statement;
  29.         try {
  30.             Class.forName("org.gjt.mm.mysql.Driver");
  31.         } catch (ClassNotFoundException e) {
  32.             // TODO Auto-generated catch block
  33.             e.printStackTrace();
  34.         }
  35.         try {
  36.             connection = DriverManager.getConnection(url+database,"root","");
  37.             while (true) {
  38.                 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  39.                 String polecenie = br.readLine();
  40.                 StringTokenizer st = new StringTokenizer(polecenie);
  41.                 String which = st.nextToken();
  42.                 if (which.equals("INSERT") || which.equals("UPDATE")
  43.                         || which.equals("DELETE")) {
  44.                     statement = connection.createStatement();
  45.                     statement.executeUpdate(polecenie);
  46.                     statement.close();
  47.                 }
  48.                 else if (which.equals("SELECT")) {
  49.                     statement = connection.createStatement();
  50.                     ResultSet rs = statement.executeQuery(polecenie);
  51.                     ResultSetMetaData rsmd = rs.getMetaData();
  52.                     int nrWiersza = 1;
  53.                     while(rs.next()) {
  54.                         System.out.println("Wiersz " + nrWiersza + ": ");
  55.                         for (int i = 1; i <= rsmd.getColumnCount(); i++)
  56.                         {
  57.                             System.out.print(" Kolumna " + i + ": ");
  58.                             //Ponizsza instrukcja wypisuje zawartosc kolumny o numerze i z obrabianego
  59.                             System.out.println(rs.getString(i));
  60.                         }
  61.                         System.out.println("");
  62.                         nrWiersza++;
  63.  
  64.                     }
  65.                 }
  66.                 else if (which.equals("USE")) {
  67.                     st.nextToken();
  68.                     database = st.nextToken();
  69.                     connection = DriverManager.getConnection(url+database,"root","");
  70.                 }
  71.                 else if (which.equals("SHOW")) {
  72.                     DatabaseMetaData dmd = connection.getMetaData();
  73.                     ResultSet rs = dmd.getTables(null, null, "%", null);
  74.                     while(rs.next()) {
  75.                         System.out.println(rs.getString("TABLE_NAME"));
  76.                     }
  77.                 }
  78.                 else if (which.equals("DESCRIBE")) {
  79.                     st.nextToken();
  80.                     String name = st.nextToken();
  81.                     statement = connection.createStatement();
  82.                     ResultSet rs = statement.executeQuery("select * from " + name);
  83.                     ResultSetMetaData rsmd = rs.getMetaData();
  84.                     int iloscKolumn = rsmd.getColumnCount();
  85.                     for (int i = 1; i <= iloscKolumn; i++)
  86.                     {
  87.                         //Nazwa kolumny
  88.                         String nazwaKolumny = rsmd.getColumnName(i);
  89.                         String nazwaTabeli = rsmd.getTableName(i);
  90.                         String nazwaTypu = rsmd.getColumnTypeName(i);
  91.                         boolean caseSen = rsmd.isCaseSensitive(i);
  92.                         boolean moznaPisac = rsmd.isWritable(i);
  93.                         System.out.println("Informacja o kolumnie " + nazwaKolumny);
  94.                         System.out.println(" Kolumna z tabeli " + nazwaTabeli);
  95.                         System.out.println(" Typ kolumny " + nazwaTypu);
  96.                         System.out.println(" Case sensitive: " + caseSen);
  97.                         System.out.println(" Mozna zapisywac: " + moznaPisac);
  98.                         System.out.println("");
  99.                     }
  100.  
  101.                 }
  102.             }
  103.         } catch (SQLException e) {
  104.             // TODO Auto-generated catch block
  105.             e.printStackTrace();
  106.         } catch (IOException e) {
  107.             // TODO Auto-generated catch block
  108.             e.printStackTrace();
  109.         }
  110.  
  111.  
  112.     }
  113.  
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement