DBMS using connections(Client-application server-Data sever, three tier) Oracle/MySQL (ODBC/JDBC), SQL Joints, prompt.
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class A3 extends HttpServlet{
private static final long serialVersionUID = 1L;
//Function dumpData() to print query result in table format
public void dumpData(java.sql.ResultSet rs, java.io.PrintWriter out)
throws Exception {
int rowCount = 0;
out.println("<P ALIGN='left'><TABLE BORDER=1>");
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
// table header
out.println("<TR>");
for (int i = 0; i < columnCount; i++) {
out.println("<TH>" + rsmd.getColumnLabel(i + 1) + "</TH>");
}
out.println("</TR>");
// the data
while (rs.next()) {
rowCount++;
out.println("<TR>");
for (int i = 0; i < columnCount; i++) {
out.println("<TD>" + rs.getString(i + 1) + "</TD>");
}
out.println("</TR>");
}
out.println("</TABLE></P>");
out.println("Rows: "+rowCount+" Columns: "+columnCount);
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
Connection conn = null;
Statement stmt = null;
// Set response content type
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h2>JOIN OPERATIONS</h2>");
try{
// Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
// Open a connection
conn = DriverManager.getConnection("jdbc:mysql://10.5.7.51:3306/te57_db","te57","student");
// Execute SQL query
String sql;
ResultSet rs;
stmt = conn.createStatement();
out.println("<h3>TABLE INFORMATION</h3>");
out.println("TABLE 'STUDENTS':<br>");
sql = "select * from STUDENTS";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
// out.println("RESULT:<br>");
dumpData(rs, out);
//out.println("<h3>TABLE INFORMATION</h3>");
out.println("TABLE 'COURSES':<br>");
sql = "select * from COURSES";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
// out.println("RESULT:<br>");
dumpData(rs, out);
out.println("<h3>NATURAL JOIN</h3>");
out.println("QUERY:<br>");
sql = "select StudentID,StudentName,Major from STUDENTS natural join COURSES where
STUDENTS.StudentID = COURSES.StudentID";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
out.println("RESULT:<br>");
dumpData(rs, out);
out.println("<h3>INNER JOIN</h3>");
out.println("QUERY:<br>");
sql = "select STUDENTS.StudentID,STUDENTS.StudentName,STUDENTS.Major, COURSES.CourseNumber,
COURSES.CourseName from STUDENTS inner join COURSES on STUDENTS.StudentID = COURSES.StudentID";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
out.println("RESULT:<br>");
dumpData(rs, out);
out.println("<h3>LEFT JOIN</h3>");
out.println("QUERY:<br>");
sql = "select STUDENTS.StudentID,STUDENTS.StudentName,STUDENTS.Major, COURSES.CourseNumber,
COURSES.CourseName from STUDENTS left join COURSES on STUDENTS.StudentID = COURSES.StudentID";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
out.println("RESULT:<br>");
dumpData(rs, out);
out.println("<h3>RIGHT JOIN</h3>");
out.println("QUERY:<br>");
sql = "select STUDENTS.StudentID,STUDENTS.StudentName,STUDENTS.Major, COURSES.CourseNumber,
COURSES.CourseName from STUDENTS right join COURSES on STUDENTS.StudentID = COURSES.StudentID";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
out.println("RESULT:<br>");
dumpData(rs, out);
out.println("<h3>CROSS JOIN</h3>");
out.println("QUERY:<br>");
sql = "select * from STUDENTS cross join COURSES";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
out.println("RESULT:<br>");
dumpData(rs, out);
// Clean-up environment
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}//end try
}
}
web.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>assignA2</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>A3</servlet-name>
<servlet-class>A3</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>A3</servlet-name>
<url-pattern>/A3</url-pattern>
</servlet-mapping>
</web-app>
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class A3 extends HttpServlet{
private static final long serialVersionUID = 1L;
//Function dumpData() to print query result in table format
public void dumpData(java.sql.ResultSet rs, java.io.PrintWriter out)
throws Exception {
int rowCount = 0;
out.println("<P ALIGN='left'><TABLE BORDER=1>");
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
// table header
out.println("<TR>");
for (int i = 0; i < columnCount; i++) {
out.println("<TH>" + rsmd.getColumnLabel(i + 1) + "</TH>");
}
out.println("</TR>");
// the data
while (rs.next()) {
rowCount++;
out.println("<TR>");
for (int i = 0; i < columnCount; i++) {
out.println("<TD>" + rs.getString(i + 1) + "</TD>");
}
out.println("</TR>");
}
out.println("</TABLE></P>");
out.println("Rows: "+rowCount+" Columns: "+columnCount);
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
Connection conn = null;
Statement stmt = null;
// Set response content type
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h2>JOIN OPERATIONS</h2>");
try{
// Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
// Open a connection
conn = DriverManager.getConnection("jdbc:mysql://10.5.7.51:3306/te57_db","te57","student");
// Execute SQL query
String sql;
ResultSet rs;
stmt = conn.createStatement();
out.println("<h3>TABLE INFORMATION</h3>");
out.println("TABLE 'STUDENTS':<br>");
sql = "select * from STUDENTS";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
// out.println("RESULT:<br>");
dumpData(rs, out);
//out.println("<h3>TABLE INFORMATION</h3>");
out.println("TABLE 'COURSES':<br>");
sql = "select * from COURSES";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
// out.println("RESULT:<br>");
dumpData(rs, out);
out.println("<h3>NATURAL JOIN</h3>");
out.println("QUERY:<br>");
sql = "select StudentID,StudentName,Major from STUDENTS natural join COURSES where
STUDENTS.StudentID = COURSES.StudentID";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
out.println("RESULT:<br>");
dumpData(rs, out);
out.println("<h3>INNER JOIN</h3>");
out.println("QUERY:<br>");
sql = "select STUDENTS.StudentID,STUDENTS.StudentName,STUDENTS.Major, COURSES.CourseNumber,
COURSES.CourseName from STUDENTS inner join COURSES on STUDENTS.StudentID = COURSES.StudentID";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
out.println("RESULT:<br>");
dumpData(rs, out);
out.println("<h3>LEFT JOIN</h3>");
out.println("QUERY:<br>");
sql = "select STUDENTS.StudentID,STUDENTS.StudentName,STUDENTS.Major, COURSES.CourseNumber,
COURSES.CourseName from STUDENTS left join COURSES on STUDENTS.StudentID = COURSES.StudentID";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
out.println("RESULT:<br>");
dumpData(rs, out);
out.println("<h3>RIGHT JOIN</h3>");
out.println("QUERY:<br>");
sql = "select STUDENTS.StudentID,STUDENTS.StudentName,STUDENTS.Major, COURSES.CourseNumber,
COURSES.CourseName from STUDENTS right join COURSES on STUDENTS.StudentID = COURSES.StudentID";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
out.println("RESULT:<br>");
dumpData(rs, out);
out.println("<h3>CROSS JOIN</h3>");
out.println("QUERY:<br>");
sql = "select * from STUDENTS cross join COURSES";
rs = stmt.executeQuery(sql);
out.println(sql+"<br>");
out.println("RESULT:<br>");
dumpData(rs, out);
// Clean-up environment
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}//end try
}
}
web.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>assignA2</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>A3</servlet-name>
<servlet-class>A3</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>A3</servlet-name>
<url-pattern>/A3</url-pattern>
</servlet-mapping>
</web-app>
Comments
Post a Comment