Mysql FIELD() Function Example Using Java Servlet

Mysql FIELD() Function Example Using Java Servlet


Posted in : Java Posted on : September 15, 2011 at 7:35 PM Comments : [ 0 ]

In this tutorial you will learn how to use field() String function of mysql with java servlet

Mysql FIELD() Function Example Using Java Servlet

In this tutorial you will learn how to use field() String function of mysql with java servlet

FIELD() method of mysql returns the position value of a searched element from a list. In the parameter of this function the first argument is specified as the element which is to be searched and the subsequent arguments are the checked elements from which the searched element will compare, returns the index if the searched element is found or returns 0 if the element is not found or the searched element is null. In this function string elements are compared as string if all the arguments are specified as string, numeric elements are compared as number if all the arguments are number otherwise, it compares all as double.

Syntax :

field('string to be searched','string1','string2','string3',.....'stringN');

Here the first argument is an element to be searched which will be search into subsequent argument list.

Now, since I have to use this function in java servlet program, therefore I have created a java servlet class named MysqlFieldServlet 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 FIELD("+"'"+str+"'"+","+"'"+str1+"'"+","+"'"+str2+"'"+","+"'"+str3+"'"+")"; (Here str, str1, str2, str3 are the variables that stores the value given by the user.) 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 :

Field.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>FIELD() Function</title>
</head>
<body>
<form method="get" action="MysqlFieldServlet">
<table>
<tr>
<td>Enter an element for search</td>
<td><input type="text" name="txtName"/></td>
</tr>
<tr>
<td>Enter an element</td>
<td><input type="text" name="txtName1"/></td>
</tr>
<tr>
<td>Enter an element</td>
<td><input type="text" name="txtName2"/></td>
</tr>
<tr>
<td>Enter an element</td>
<td><input type="text" name="txtName3"/></td>
</tr>
<tr>
<td></td>
<td align="center"><input type="submit" value="CLICK"/></td>
</tr>
</table>
</form>
</body>
</html>

MysqlFieldServlet.java

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Connection;
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 MysqlFieldServlet extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();

String str=request.getParameter("txtName");
String str1=request.getParameter("txtName1");
String str2=request.getParameter("txtName2"); 
String str3=request.getParameter("txtName3");

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 FIELD("+"'"+str+"'"+","+"'"+str1+"'"+","+"'"+str2+"'"+","+"'"+str3+"'"+")";

ps=con.prepareStatement(sql);
rs=ps.executeQuery();

while(rs.next())
{
int sql1=Integer.parseInt(rs.getString(1));
if(sql1==0)
{
out.println("Searched element "+"\""+str+"\" is not found.");
}
else
{
sql=rs.getString(1);
out.println("Searched element "+"\""+str+"\" is found at "+ sql+" position");
}
}
}
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>MysqlFieldServlet</servlet-name>
<servlet-class>MysqlFieldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MysqlFieldServlet</servlet-name>
<url-pattern>/MysqlFieldServlet</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 to search.

  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 :

Download Source Code

Go to Topic «PreviousHomeNext»

Your Comment:


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

 
Tutorial Topics