Guest User

Untitled

a guest
May 22nd, 2018
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.78 KB | None | 0 0
  1. package databaseapp;
  2.  
  3. import java.sql.*;
  4. import java.util.LinkedList;
  5. import java.util.List;
  6. import java.util.logging.Level;
  7. import java.util.logging.Logger;
  8.  
  9. public class DBUtils
  10. {
  11. // LOCAL OR LIVE
  12.  
  13. private static boolean live = !true;
  14. private static String username;
  15. private static String password;
  16. private static String url;
  17.  
  18.  
  19. static
  20. {
  21. if(live)
  22. {
  23. username = "root";
  24. password = "password";
  25. url = "jdbc:mysql://localhost/";
  26. } else
  27. {
  28. username = "root";
  29. password = "password";
  30. url = "jdbc:mysql://127.0.0.1/";
  31. }
  32. }
  33.  
  34. public static Connection getConnection(String DB)
  35. {
  36. Connection conn = null;
  37.  
  38. try
  39. {
  40. Class.forName("com.mysql.jdbc.Driver").newInstance();
  41. conn = DriverManager.getConnection(url + DB, username, password);
  42. System.out.println("CONNECTION: " + (url + DB) + " ESTABLISHED");
  43. } catch(Exception ex)
  44. {
  45. System.out.println(ex.getMessage());
  46. System.err.println("COULD NOT CONNECT: " + url);
  47. Logger.getLogger(DBUtils.class.getName()).log(Level.SEVERE, null, ex);
  48. return null;
  49. }
  50.  
  51. return conn;
  52. }
  53.  
  54. public static String[] getDatabaseNames()
  55. {
  56. Connection conn = getConnection("");
  57.  
  58. if(conn != null)
  59. {
  60. return getDatabaseNames(conn);
  61. } else
  62. {
  63. try
  64. {
  65. conn.close();
  66. System.out.println("CONNECTION TERMINATED");
  67. } catch(SQLException ex)
  68. {
  69. Logger.getLogger(DBUtils.class.getName()).log(Level.SEVERE, null, ex);
  70. }
  71. return null;
  72. }
  73. }
  74.  
  75. public static String insertInto(String table, Object[] values)
  76. {
  77. StringBuffer valueStr = new StringBuffer("(");
  78. for(Object value : values)
  79. {
  80. valueStr.append("'" + value.toString() + "',");
  81. }
  82. valueStr.deleteCharAt(valueStr.length() - 1);
  83. valueStr.append(")");
  84.  
  85. return "INSERT INTO " + table + " VALUES " + valueStr.toString();
  86. }
  87.  
  88. private static String[] getDatabaseNames(Connection conn)
  89. {
  90. List<String> list = new LinkedList<String>();
  91.  
  92. try
  93. {
  94. DatabaseMetaData dbmd = conn.getMetaData();
  95.  
  96. ResultSet ctlgs = dbmd.getCatalogs();
  97.  
  98. while(ctlgs.next())
  99. {
  100. list.add(ctlgs.getString(1));
  101. }
  102. } catch(SQLException ex)
  103. {
  104. Logger.getLogger(DBUtils.class.getName()).log(Level.SEVERE, null, ex);
  105. }
  106.  
  107. String[] names = new String[list.size()];
  108. for(int lp = 0; lp < names.length; lp++)
  109. {
  110. names[lp] = list.get(lp);
  111. }
  112.  
  113. return names;
  114. }
  115.  
  116. static String getQueryTable(Connection conn, String query)
  117. {
  118. List[] list = null;
  119.  
  120. try
  121. {
  122. Statement s = conn.createStatement();
  123. s.executeQuery(query);
  124. ResultSet rs = s.getResultSet();
  125. int count = 0;
  126.  
  127. ResultSetMetaData rsmd = rs.getMetaData();
  128. int colCount = rsmd.getColumnCount();
  129. list = new LinkedList[colCount];
  130. // ADD COLUMN NAMES
  131. for(int c = 1; c <= colCount; c++)
  132. {
  133. list[c - 1] = new LinkedList();
  134. //System.out.println("colName = " + rsmd.getColumnName(c));
  135. list[c - 1].add(rsmd.getColumnName(c));
  136. }
  137.  
  138. while(rs.next())
  139. {
  140. count++;
  141.  
  142. for(int c = 1; c <= colCount; c++)
  143. {
  144. String item = rs.getString(rsmd.getColumnName(c));
  145. list[c - 1].add(item);
  146. }
  147. }
  148.  
  149. // CLOSE STATEMENT
  150. rs.close();
  151. s.close();
  152. } catch(SQLException ex)
  153. {
  154. Logger.getLogger(DBUtils.class.getName()).log(Level.SEVERE, null, ex);
  155. return null;
  156. } catch(Exception ex)
  157. {
  158. return null;
  159. }
  160.  
  161. // CREATE HTML QUERY-TABLE NOW
  162. String table = "<TABLE border=\"1\" bgcolor=\"yellow\">";
  163. for(int y = 0; y < list[0].size(); y++)
  164. {
  165. table += "<TR>";
  166. for(int x = 1; x <= list.length; x++)
  167. {
  168. table += "<TD>";
  169. if(y == 0)
  170. {
  171. table += "<B>";
  172. }
  173. table += (list[x - 1].get(y) == null ? "" : list[x - 1].get(y));
  174. if(y == 0)
  175. {
  176. table += "</B>";
  177. }
  178. table += "</TD>";
  179. }
  180. table += "</TR>";
  181. }
  182. table += "</TABLE>";
  183.  
  184. return "<B>QUERY RESULT:</B> <BR>" + table;
  185. }
  186.  
  187. static void queryUpdate(Connection conn, String query)
  188. {
  189. try
  190. {
  191. Statement s = conn.createStatement();
  192. s.executeUpdate(query);
  193. System.out.println("QUERY UPDATE EXECUTED: " + query);
  194. } catch(Exception ex)
  195. {
  196. System.out.println("QUERY UPDATE NOT EXECUTED: " + query);
  197. }
  198. }
  199.  
  200. // THIS TAKES A STRING FOR DB NAME, AND SHOWS ITS TABLES
  201. public static String[] getTableNames(String DB)
  202. {
  203. // FIRST MAKE THE CONNECTION
  204. Connection conn = getConnection(DB);
  205.  
  206. return getTableNames(conn);
  207. }
  208.  
  209. // ASSUMES A CONNECTION IS PRESENT TO A SPECIFIC DB
  210. public static String[] getTableNames(Connection conn)
  211. {
  212. List<String> list = new LinkedList<String>();
  213.  
  214. try
  215. {
  216. DatabaseMetaData dbmd = conn.getMetaData();
  217. ResultSet dmbRS = dbmd.getTables(
  218. null, null, "%", new String[]
  219. {
  220. "TABLE"
  221. });
  222.  
  223. while(dmbRS.next())
  224. {
  225. //System.out.println("db = " + dmbRS.getString(3));
  226. list.add(dmbRS.getString(3));
  227. }
  228. } catch(SQLException e)
  229. {
  230. }
  231.  
  232. String[] names = new String[list.size()];
  233. for(int lp = 0; lp < list.size(); lp++)
  234. {
  235. names[lp] = list.get(lp);
  236. //System.out.println("TABLE NAME " + lp + " = " + names[lp]);
  237. }
  238.  
  239. return names;
  240. }
  241.  
  242. // PASS IN A DB AND ONE OF ITS TABLES
  243. public static String showTable(String DB, String TBL, boolean displayTableName)
  244. {
  245. // MAKE CONNECTION FIRST
  246. Connection conn = getConnection(DB);
  247.  
  248. return showTable(conn, TBL, displayTableName);
  249. }
  250.  
  251.  
  252. // ASSUMES A CONNECTION WITH SOME DB EXISTS TO BE PASSED IN
  253. public static String showTable(Connection conn, String TBL, boolean displayTableName)
  254. {
  255. List[] list = null;
  256.  
  257. try
  258. {
  259. Statement s = conn.createStatement();
  260. s.executeQuery("SELECT * FROM " + TBL);
  261. ResultSet rs = s.getResultSet();
  262. int count = 0;
  263.  
  264. ResultSetMetaData rsmd = rs.getMetaData();
  265. int colCount = rsmd.getColumnCount();
  266. list = new LinkedList[colCount];
  267. // ADD COLUMN NAMES
  268. for(int c = 1; c <= colCount; c++)
  269. {
  270. list[c - 1] = new LinkedList();
  271. //System.out.println("colName = " + rsmd.getColumnName(c));
  272. list[c - 1].add(rsmd.getColumnName(c));
  273. }
  274.  
  275. while(rs.next())
  276. {
  277. //int idVal = rs.getInt("id");
  278. //String nameVal = rs.getString("name");
  279. //String catVal = rs.getString("category");
  280. // System.out.println(
  281. // "* id = " + idVal + ", name = " + nameVal + ", category = " + catVal);
  282. ++count;
  283.  
  284. for(int c = 1; c <= colCount; c++)
  285. {
  286. String item = rs.getString(rsmd.getColumnName(c));
  287. list[c - 1].add(item);
  288. }
  289. }
  290.  
  291. // CLOSE STATEMENT
  292. rs.close();
  293. s.close();
  294.  
  295. } catch(Exception e)
  296. {
  297. return null;
  298. }
  299.  
  300. // CREATE HTML TABLE NOW
  301. String table = "<TABLE border=\"1\" bgcolor=\"yellow\">";
  302. for(int y = 0; y < list[0].size(); y++)
  303. {
  304. table += "<TR>";
  305. for(int x = 1; x <= list.length; x++)
  306. {
  307. table += "<TD>";
  308. if(y == 0)
  309. {
  310. table += "<B>";
  311. }
  312. table += (list[x - 1].get(y) == null ? "" : list[x - 1].get(y));
  313. if(y == 0)
  314. {
  315. table += "</B>";
  316. }
  317. table += "</TD>";
  318. }
  319. table += "</TR>";
  320. }
  321. table += "</TABLE>";
  322.  
  323. return displayTableName ? "<B>TABLE:</B> " + TBL + "<BR>" : "" +
  324. table;
  325. }
  326.  
  327. public static String tabulate(String[] strings, String colour,
  328. boolean firstBold)
  329. {
  330. String table = "<TABLE border=\"1\" bgcolor=\"" + colour + "\">";
  331. for(int y = 0; y < strings.length; y++)
  332. {
  333. table += "<TR><TD>";
  334.  
  335. if(y == 0 && firstBold)
  336. table += "<B>";
  337. table += (strings[y] == null ? "" : strings[y]);
  338. if(y == 0 && firstBold)
  339. table += "</B>";
  340.  
  341. table += "</TD></TR>";
  342. }
  343. table += "</TABLE>";
  344.  
  345. return table;
  346. }
  347. }
Add Comment
Please, Sign In to add comment