MySql date_sub function example using Java Servlet

MySql date_sub function example using Java Servlet


Posted in : Java Posted on : August 2, 2011 at 6:05 PM Comments : [ 0 ]

In this tutorial you will learn about how to use the date_sub() function using Java Servlet.

MySql date_sub function example using Java Servlet

In this tutorial you will learn about how to use the date_sub() function using Java Servlet.

DATE_SUB() function of MySql subtracts a time value as an interval from the specified date.

Syntax of DATE_SUB() function :

DATE_SUB(date, INTERVAL expr unit)

Here the parameters 'date' is a date value, 'INTERVAL' is a keyword, and 'expr unit' is a date or datetime expression.

Now, since I have to use this function in java servlet program, therefore I have created a java servlet class named MysqlDateSubServlet which extends the HttpServlet class. In the body of class I overridden the method doGet() and created an objects of HttpServletRequest and HttpServletResponse into its parameter. Inside the doGet() method first I set the mime type that in which format the browser will show the output. In the next line I used the getWriter() method of ServletResponse interface with the object of HttpServletResponse. HttpServletResponse interface extends this method from the ServletResponse. In continue we have to make a connection between java code and database system. So, since I am using Mysql in the example given below therefore, I am loading the driver of mysql and make a connection by using the getConnection() method of DriverManager class. It returns a Connection. Further I am passing the query "SELECT DATE_SUB('2011-08-02', INTERVAL 1 second) as date_after_subtract" (This query will display the date after subtract 1 second from the date 2011-08-02) into the parameter of prepareStatement() method of Connection interface which gives an object of PreparedStatement interface. In the next line I used the executeQuery() method of PreparedStatement interface which returns a ResultSet object that holds the result of query. At last I have extracted the result from the ResultSet object.

Example :

MysqlDateSubServlet.java

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MysqlDateSubServlet extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws IOException, ServletException
    {
	  res.setContentType("text/html");
	  PrintWriter pw = res.getWriter();
	  String driver = "com.mysql.jdbc.Driver";
	  String url = "jdbc:mysql://192.168.10.13/data";
	  String user = "root";
	  String password = "root";
	  String sql = "SELECT DATE_SUB('2011-08-02', INTERVAL 1 second) as date_after_subtract";
	  Connection con;
	  PreparedStatement ps;
	  ResultSet rs;
	  try
	  {
		 Class.forName(driver);
		 con = DriverManager.getConnection(url, user, password);
		 ps= con.prepareStatement(sql);
		 rs= ps.executeQuery();
		 
		 pw.println("<table><tr>");
		 pw.println("<td><b>date_after_subtract</b></td>");
		 pw.println("</tr>");
		 
		 while(rs.next())
		 {
		  String dateSub = rs.getString(1);
		  pw.println("<tr>");
		  pw.println("<td>"+dateSub+"</td>");
		  pw.println("</tr>");
		 }
		 pw.println("</table>");
	  }
	  catch(SQLException sx)
	  {
		pw.println(sx);
	  }
	  catch(ClassNotFoundException cx)
	  {
		pw.println(cx);
	  }
    }
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>mysqlDate</display-name>

<servlet>
<servlet-name>MysqlDateSubServlet</servlet-name>
<servlet-class>MysqlDateSubServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>MysqlDateSubServlet</servlet-name>
<url-pattern>/MysqlDateSubServlet</url-pattern>
</servlet-mapping>

</web-app>

Output :

When you will execute the above example you will get the output as :

Download Source Code

Go to Topic «PreviousHomeNext»

Your Comment:


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

 
Tutorial Topics