In this tutorial you will learn how to use format() String function of mysql with java servlet
Mysql FORMAT() Function Example Using Java Servlet
In this tutorial you will learn how to use format() String function of mysql with java servlet
FORMAT() method of mysql returns a round up value given into its parameter as argument. It has two parameters into which the first argument is taken as the value either in integer, double or decimal and the second argument is taken as an integer value which specified that how many decimal places you want to round up the value taken as its first argument.
Syntax :
format(numeric value, integer value);
Here the first argument numeric value may be an integer, double, or decimal.
Now, since I have to use this function in java servlet program, therefore I have created a java servlet class named MysqlFormatServlet 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 Next step I am taking inputs using the getParameter() method of ServletRequest with the object of HttpServletRequest. In continue we have to establish 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 FORMAT("+d+","+n+")"; (Here 'd' and 'n' are the variables that stores the value given by the user in textfield.) 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 :
Format.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Format function</title> </head> <body> <form method="get" action="MysqlFormatServlet"> <table> <tr> <td>Enter number which you want to format</td> <td><input type="text" name="txtName"/></td> </tr> <tr> <td>Enter number for the decimal places you want to round up</td> <td><input type="text" name="txtName1"/></td> </tr> <tr> <td></td> <td><input type="submit" value="CLICK"/></td> </tr> </table> </form> </body> </html>
MysqlFormatServlet.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 MysqlFormatServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); double d= Double.parseDouble(request.getParameter("txtName")); int n= Integer.parseInt(request.getParameter("txtName1")); String className= "com.mysql.jdbc.Driver"; String url= "jdbc:mysql://192.168.10.13"; String user= "root"; String password= "root"; Connection con; PreparedStatement ps; ResultSet rs; try { Class.forName(className); con= DriverManager.getConnection(url, user, password); String sql= "SELECT FORMAT("+d+","+n+")"; ps= con.prepareStatement(sql); rs=ps.executeQuery(); while(rs.next()) { sql=rs.getString(1); out.println("Value after rounding : "+sql); } } catch(SQLException sx) { out.println(sx); } catch(ClassNotFoundException cx) { out.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>mysqlStringFunction</display-name> <servlet> <servlet-name>MysqlFormatServlet</servlet-name> <servlet-class>MysqlFormatServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MysqlFormatServlet</servlet-name> <url-pattern>/MysqlFormatServlet</url-pattern> </servlet-mapping> </web-app>
Output
When you will execute the above example you will get the output as :
1.
2. When you will enter the value.
3. When you will click on CLICK button you will get the output as :
4. When you will give the value like this :
5. You will get the output as :
[ 0 ] Comments