In this tutorial you will learn how to use rpad() String function of mysql with java servlet
Mysql RPAD() Function Example Using Java Servlet
In this tutorial you will learn how to use rpad() String function of mysql with java servlet
RPAD() function of mysql padded/added a string characters to right with some other string. This function works on according to the passed argument. In this function there are three arguments are passed first argument is an actual string, the second argument is numeric value that shows the length of padding in characters, and the third argument is a ritght padding string which will be padded right to the actual string. There can be a different output for different situations i.e how many padding characters will be padded right is depends upon the number specified as second argument. In such a case if the number passed as second argument is equal to the number of characters of actual string then the padding string character will not be padded right, if the number is smaller than the actual string length then the actual string is displayed as the number is specified and, if the specified number is greater than the actual string then the number of right padding characters will be the difference of specified number and actual string length.
Syntax :
rpad('string',len_num,'padstr');
Here the argument "string" is a an actual string, "len_num" is total length of returned padding string, "padstr" is a right padding string.
Now, since I have to use this function in java servlet program, therefore I have created a java servlet class named MysqlRpadServlet 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 passed the query "SELECT RPAD(" + "'" + str + "'"+","+len+","+ "'" + pdstr + "'"+")"; (Here 'str', 'len', 'pdstr' are variables that stores the value given by the user in their respective textfields.) 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 :
rpad.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>RPAD function</title> </head> <body> <form action="MysqlRpadServlet" method="get"> <table> <tr> <td>Enter a String </td> <td><input type="text" name="text1"/></td> </tr> <tr> <td>Enter a number </td> <td><input type="text" name="text2"/></td> </tr> <tr> <td>Enter string for padding </td> <td><input type="text" name="text3"/></td> </tr> <tr> <td></td> <td><input type="submit" value="submit"/></td> </tr> </table> </form> </body> </html>
MysqlRpadServlet.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 MysqlRpadServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String str = request.getParameter("text1"); int len= Integer.parseInt(request.getParameter("text2")); String pdstr= request.getParameter("text3"); 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 RPAD(" + "'" + str + "'"+","+len+","+ "'" + pdstr + "'"+")"; ps = con.prepareStatement(sql); rs = ps.executeQuery(); while (rs.next()) { sql = rs.getString(1); out.println("Actual string after right padding =" + "\"" + 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>MysqlRpadServlet</servlet-name> <servlet-class>MysqlRpadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MysqlRpadServlet</servlet-name> <url-pattern>/MysqlRpadServlet</url-pattern> </servlet-mapping> </web-app>
Output
When you will execute the above example you will get the output as :
1.
2.
3.
4. But when you will give the input like this:
5. You will get the output as :
[ 0 ] Comments