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:

|