In this section we will discuss how adddate() function is used with select statement using java servlet.
Mysql SELECT ADDDATE() Function using Java Servlet
In this section we will discuss how adddate() function is used with select statement using java servlet.
ADDDATE function adds a time value with date into the pre existing date. There are two different syntaxes of ADDDATE() function : 1. ADDDATE(date, INTERVAL expr unit) 2. ADDDATE(expr,days). Both the function adds the time value but there is a difference between them are in ADDDATE(date, INTERVAL expr unit) function the parameter 'unit' can be given as MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, etc but in ADDDATE(expr,days) function the parameter 'unit' can be only given as number of days. Now, since I have to use this function in java servlet program, therefore I have created a java servlet class named MysqlAddDateServlet 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 ADDDATE('2010-07-27', INTERVAL 3 day) AS date_after_3_day" (This query will display the date after adding 3 days into the date 2010-07-27) 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 :
MysqlAddDateServlet.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 MysqlAddDateServlet 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 uid = "root"; String psw = "root"; String sql = "SELECT ADDDATE('2010-07-27', INTERVAL 3 day) AS date_after_3_day"; Connection con; PreparedStatement ps; ResultSet rs; try { Class.forName(driver); con = DriverManager.getConnection(url,uid,psw); ps = con.prepareStatement(sql); rs= ps.executeQuery(); pw.println("<html><table><tr>"); pw.println("<td><b>date_after_3_day</b></td>"); pw.println("<tr>"); while(rs.next()) { String date = rs.getString(1); pw.println("<tr><td>"+date+"</td></tr>"); } } 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>join</display-name> <servlet> <servlet-name> MysqlAddDateServlet </servlet-name> <servlet-class>MysqlAddDateServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>MysqlAddDateServlet </servlet-name> <url-pattern>/MysqlAddDateServlet </url-pattern> </servlet-mapping> </web-app>
Output :
When you will execute the above example you will get the output as :
[ 0 ] Comments