Database and Servlet: Database MetaData : Database « Servlets « Java

Home
Java
1.2D Graphics GUI
2.3D
3.Advanced Graphics
4.Ant
5.Apache Common
6.Chart
7.Class
8.Collections Data Structure
9.Data Type
10.Database SQL JDBC
11.Design Pattern
12.Development Class
13.EJB3
14.Email
15.Event
16.File Input Output
17.Game
18.Generics
19.GWT
20.Hibernate
21.I18N
22.J2EE
23.J2ME
24.JavaFX
25.JDK 6
26.JDK 7
27.JNDI LDAP
28.JPA
29.JSP
30.JSTL
31.Language Basics
32.Network Protocol
33.PDF RTF
34.Reflection
35.Regular Expressions
36.Scripting
37.Security
38.Servlets
39.Spring
40.Swing Components
41.Swing JFC
42.SWT JFace Eclipse
43.Threads
44.Tiny Application
45.Velocity
46.Web Services SOA
47.XML
Java » Servlets » Database 




Database and Servlet: Database MetaData

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

public class DbMetaServlet extends HttpServlet {

  DataSource pool;

  public void init() throws ServletException {

    Context env = null;

    try {

      env = (Contextnew InitialContext().lookup("java:comp/env");

      pool = (DataSourceenv.lookup("jdbc/oracle-8i-athletes");

      if (pool == null)
        throw new ServletException(
            "'oracle-8i-athletes' is an unknown DataSource");

    catch (NamingException ne) {

      throw new ServletException(ne);

    }
  }

  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, java.io.IOException {

    String sql = "select * from aTable";
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    ResultSetMetaData rsm = null;

    response.setContentType("text/html");
    java.io.PrintWriter out = response.getWriter();
    out
        .println("<html><head><title>Discover a ResultSet</title></head><body>");
    out.println("<h2>Here is Info about the returned ResultSet</h2>");
    out.println("<table border='1'><tr>");

    try {

      //Get a connection from the pool
      conn = pool.getConnection();

      //Create a Statement with which to run some SQL
      stmt = conn.createStatement();

      //Execute the SQL
      rs = stmt.executeQuery(sql);

      //Get a ResultSetMetaData object from the ResultSet
      rsm = rs.getMetaData();

      int colCount = rsm.getColumnCount();

      //print column names
      printMeta(rsm, "name", out, colCount);

      //print column index
      printMeta(rsm, "index", out, colCount);

      //print column type
      printMeta(rsm, "column type", out, colCount);

      //print column display size
      printMeta(rsm, "column display", out, colCount);

    catch (Exception e) {

      throw new ServletException(e.getMessage());

    finally {

      try {

        stmt.close();
        conn.close();

      catch (SQLException sqle) {
      }

    }
    out.println("</table></body></html>");
    out.close();

  //doGet

  private void printMeta(ResultSetMetaData metaData, String type,
      java.io.PrintWriter out, int colCountthrows SQLException {

    if (metaData == null || type == null || out == null)
      throw new IllegalArgumentException(
          "Illegal args passed to printMeta()");

    out.println("<tr>");

    if (type.equals("table")) {

      out.println("<td><strong>Table name</strong></td>");

      for (int i = 1; i <= colCount; ++i) {

        out.println("<td>" + metaData.getTableName(i"</td>");
      }

    else if (type.equals("name")) {

      out.println("<td><strong>Column name</strong></td>");

      for (int i = 1; i <= colCount; ++i) {

        out.println("<td>" + metaData.getColumnName(i"</td>");
      }

    else if (type.equals("index")) {

      out.println("<td><strong>Column index</strong></td>");

      for (int i = 1; i <= colCount; ++i) {

        out.println("<td>" + i + "</td>");
      }

    else if (type.equals("column type")) {

      out.println("<td><strong>Column type</strong></td>");

      for (int i = 1; i <= colCount; ++i) {

        out.println("<td>" + metaData.getColumnTypeName(i"</td>");
      }

    else if (type.equals("column display")) {

      out.println("<td><strong>Column display size</strong></td>");

      for (int i = 1; i <= colCount; ++i) {

        out
            .println("<td>" + metaData.getColumnDisplaySize(i)
                "</td>");
      }
    }

    out.println("</tr>");

  }//printMeta

}



           
       














Related examples in the same category
1.Servlets Database Query
2.Using JDBC in Servlets
3.Cached Connection Servlet
4.Transaction Connection Servlet
5.Session Login JDBC
6.JDBC and Servlet
7.Database and Servlet: Store procedure
8.Database transaction
9.Typical database commands
10.Process a raw SQL query; use ResultSetMetaData to format it
11.See Account
12.Guest Book Servlet
13.Dedicated Connection Servlet
14.Login Servlets
15.OCCI Connection Servlet
16.Get Column Names From ResultSet
17.Display Clob Servlet
18.Delete Blob From Servlet
19.Delete Clob From Servlet
20.Display Blob Servlet
21.Delete Clob From Oracle in a Servlet
22.Insert Clob to MySql Servlet
23.Update Clob data stored in MySql from a Servlet
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.