Getting Number of Rows

Consider a situation where we want to know about the number of rows in the particular database table without touching our database.

Getting Number of Rows

Getting Number of Rows

     

Consider a situation where we want to know about the number of rows in the particular database table without touching our database. As we are the programmers so why we should worry about the database complexities. We want to find out the number of rows without going touching our back- end.

In this example we are going to exactly the same as we said above. To make this possible we need to make a class named ServletGettingNoOfRows,  the name of the program should be such,  if in future there is any need to make any change in the program, you can easily understand in which program you have to make a change. As we know that in Servlet the main logic of the program is written inside the service method and in turn the service method calls the doGet() method. Now inside the doGet() method use the getWriter() method of the response object and its returns the PrintWriter object, which helps us to write on the browser. To get the number of rows from the database table there is a need for the connection between the database and the java program.  After the establishment of the connection with the database, fire a query for selecting the number of rows from the database table inside the executeQuery() method of the PreparedStatement object and returns the ResultSet object. Now we have the ResultSet object, by the help of this object we can get the number of rows we have in the database table.  The number of rows we have in the database table will be displayed on the browser by the PrintWriter object.

The code of the program is given below:

import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ServletGettingNoOfRows extends HttpServlet{
  public void doGet(HttpServletRequest request, 
  HttpServletResponse response
throws 
 
ServletException, IOException{
  int rows=0;
  response.setContentType("text/html");
  PrintWriter pw = response.getWriter();
  String connectionURL = "jdbc:mysql://localhost/zulfiqar";
  Connection connection;
  try{
  Class.forName("org.gjt.mm.mysql.Driver");
  connection = DriverManager.getConnection
   (connectionURL, 
"root""admin");
  PreparedStatement pst = connection.prepareStatement("");
  ResultSet rs = pst.executeQuery
   (
"select count(*) from emp_sal");
  while (rs.next()){
  rows = rs.getInt(1);
  }
  pw.println("The number of rows are " + rows);
  }
  catch(Exception e){
  pw.println("The exception is " + e);
  }
  }
}

XML File for this program:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
 PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
 <servlet>
 <servlet-name>Zulfiqar</servlet-name>
 <servlet-class>ServletGettingNoOfRows</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>Zulfiqar</servlet-name>
 <url-pattern>/ServletGettingNoOfRows</url-pattern>
 </servlet-mapping>
</web-app>

Table emp_sal in the database:

mysql> select * from emp_sal;
+----------+--------+
| EmpName | salary |
+----------+--------+
| zulfiqar | 15000 |
| vinod | 12000 |
+----------+--------+
2 rows in set (0.05 sec)

The output of the program is given below:

Download this example: