From 4e9a930d68b6c9630edfc86e0a86a67e949ead6e Mon Sep 17 00:00:00 2001 From: lwm14001 Date: Wed, 2 Nov 2016 15:58:01 -0400 Subject: [PATCH] ryan needs these sql tests --- sqlTest.java | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 sqlTest.java diff --git a/sqlTest.java b/sqlTest.java new file mode 100644 index 0000000..24fdf29 --- /dev/null +++ b/sqlTest.java @@ -0,0 +1,104 @@ +//package com.journaldev.jdbc.datasource; + + +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.*; + +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.sql.DataSource; + +//@WebServlet("/JDBCDataSourceExample") +@WebServlet("/Test") +public class sqlTest extends HttpServlet { + private static final long serialVersionUID = 1L; + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + Context ctx = null; + Connection con = null; + Statement stmt = null; + ResultSet rs = null; + try{ + ctx = new InitialContext(); + DataSource ds = (DataSource) ctx.lookup("java:/comp/env/jdbc/LocalStudentAdminDB"); + con = ds.getConnection(); + stmt = con.createStatement(); + rs = stmt.executeQuery("SELECT * FROM SA_Development.TERM"); + PrintWriter out = response.getWriter(); + + String resultantJSON = "{"; + ResultSetMetaData rsmd = rs.getMetaData(); + int columnCount = rsmd.getColumnCount(); + + while(rs.next()){ + String individualRow = "{"; + + for(int i=1; i < columnCount + 1;i++){ + String name = rsmd.getColumnName(i); + if(rsmd.getColumnType(i)==java.sql.Types.INTEGER){ + individualRow += "'" + name + "': '" + rs.getInt(name) + "',"; + } else if (rsmd.getColumnType(i)==java.sql.Types.DATE){ + individualRow += "'" + name + "': '" + rs.getDate(name) + "',"; + } else if (rsmd.getColumnType(i)==java.sql.Types.VARCHAR){ + individualRow += "'" + name + "': '" + rs.getString(name) + "',"; + } else { + individualRow += "'" + name + "': '" + rs.getDate(name) + "',"; + } + } + resultantJSON += individualRow + "},"; + } + resultantJSON += "}"; + response.setContentType("application/json"); + out.print(resultantJSON); +/* response.setContentType("text/html"); + out.print("

SQLResults

"); + out.print(""); + out.print(""); + out.print(""); + out.print(""); + out.print(""); + while(rs.next()) + { + out.print(""); + out.print(""); + out.print(""); + out.print(""); + out.print(""); + out.print(""); + out.print(rs + } + out.print("
TERM_IDTERM_NAMEACTIVE_DATE_FROMACTIVE_DATE_TO
" + rs.getInt("TERM_ID") + "" + rs.getString("TERM_NAME") + "" + rs.getDate("ACTIVE_DATE_FROM") + "" + rs.getDate("ACTIVE_DATE_TO") + "

"); + + //lets print some DB information + //out.print("

Database Details

"); + //out.print("Database Product: "+con.getMetaData().getDatabaseProductName()+"
"); + //out.print("Database Driver: "+con.getMetaData().getDriverName()); + //out.print(""); + */ + }catch(NamingException e){ + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + }finally{ + try { + rs.close(); + stmt.close(); + con.close(); + ctx.close(); + } catch (SQLException e) { + System.out.println("Exception in closing DB resources"); + } catch (NamingException e) { + System.out.println("Exception in closing Context"); + } + + } + } + +}