Created
March 3, 2019 03:28
Star
You must be signed in to star a gist
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*Import house keeping stuff that we need to connect with the Database*/ | |
import java.sql.*; | |
/*Import Scanner Class so as to take input from the user*/ | |
import java.util.Scanner; | |
public class Main { | |
static Connection connection; | |
static Scanner scan; | |
static Statement statement; | |
static ResultSet resultSet; | |
static ResultSetMetaData resultSetMetaData; | |
public static void main(String args[]) throws SQLException { | |
/*Create object 'scan' to take input from the keyboard*/ | |
scan = new Scanner(System.in); | |
try { | |
/* | |
* Call the function 'getConnection' from the static class | |
*'GetConnection' to return the connection to the database | |
*/ | |
connection = GetConnection.getConnection(); // function at the bottom of file. | |
System.out.println("Connection established"); | |
/*Create statement object to execute queries*/ | |
statement = connection.createStatement(); | |
} catch (Exception e) { | |
System.out.println("Check your connection again."); | |
} | |
while (true) { | |
/*transfer control to the function 'executeQuery'*/ | |
executeQuery(); | |
} | |
} | |
public static void executeQuery() { | |
System.out.print("$> "); | |
try { | |
/*get query input from the user*/ | |
String query = scan.nextLine(); | |
/*split the query into array of string object using the space delimiter*/ | |
String[] queryBifercation = query.split(" "); | |
/*if the first word of the query is 'SELECT' or 'SHOW'*/ | |
if (queryBifercation[0].equalsIgnoreCase("SELECT") || queryBifercation[0].equalsIgnoreCase("SHOW")) { | |
/*execute the query and store the result set returned in resultSet*/ | |
resultSet = statement.executeQuery(query); | |
/*call the 'printResultSet' function*/ | |
printResultSet(); | |
} else { | |
/* | |
* if first word is not 'SELECT' or 'SHOW', call execute | |
* query with the execute update command | |
*/ | |
statement.executeUpdate(query); | |
} | |
} catch (Exception e) { | |
System.out.println("Statement Cannot be executed."); | |
} | |
} | |
public static void printResultSet() throws SQLException { | |
/*get the meta data from the result set*/ | |
resultSetMetaData = resultSet.getMetaData(); | |
/* | |
* resultSetMetaData -> contains column name data | |
* resultSet -> contains column data | |
* getColumnCount() -> gets the number of columns in the Result Set | |
* getColumnName(i) -> gets the name of the i'th column | |
*/ | |
for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) { | |
//if i is greater than one | |
if (i > 1) // first column must not have a tab before it | |
System.out.print("\t"); | |
String columnName = resultSetMetaData.getColumnName(i); | |
System.out.print(columnName); | |
} | |
System.out.println(); | |
while (resultSet.next()) { | |
for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) { | |
if (i > 1) | |
System.out.print("\t"); | |
String columnValue = resultSet.getString(i); | |
System.out.print(columnValue); | |
} | |
System.out.println(""); | |
} | |
} | |
} | |
class GetConnection { | |
static Connection conn; | |
static String USERNAME; | |
static String PASSWORD; | |
static String CONNECTION; | |
public static Connection getConnection() { | |
USERNAME = "dbuser"; // enter username here | |
PASSWORD = "dbpassword"; // enter password here | |
CONNECTION = "jdbc:mysql://localhost/"; // link | |
try { | |
/*Coerce the driver on the java application*/ | |
Class.forName("com.mysql.jdbc.Driver"); | |
/*Get the connection from the DriverManager Class and call the function | |
* 'getConnection'*/ | |
conn = DriverManager.getConnection(CONNECTION, USERNAME, PASSWORD); | |
/*return the found connection to the function which called it*/ | |
return conn; | |
} catch (SQLException e) { | |
e.printStackTrace(); | |
} catch (ClassNotFoundException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} | |
return null; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment