ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ashish Kulkarni" <ashish.kulkarn...@gmail.com>
Subject Best practice for using Ibatis in Web application
Date Fri, 07 Nov 2008 15:17:08 GMT
HiIs there any standard way or best practice for of using Ibatis in web
This is how i use it
In my InitServlet which is loaded when the application starts, i create
instance SqlMapClient and save it in ServletContext.
And in other servlets where i need to get data from database, i get the
SqlMapClient from ServletConext and use it

I think by doing this, SqlMapClient will automatically create ConnectionPool
and use this connection pool for running queries

public class InitServlet extends javax.servlet.http.HttpServlet
 public void init(ServletConfig config)
         ServletContext oCtx = config.getServletContext();
         String resource = "SQLMapConfigWeb.xml";
         Reader reader = Resources.getResourceAsReader(resource);
         SqlMapClient sqlMap =
         oCtx.setAttribute("SQLMAPCLIENT", sqlMap );

public class DataAccessServlet extends javax.servlet.http.HttpServlet
     public void doGet(javax.servlet.http.HttpServletRequest request,
            javax.servlet.http.HttpServletResponse response)
            throws javax.servlet.ServletException, java.io.IOException
             SqlMapClient sqlMap =  oCtx.getAttribute("SQLMAPCLIENT", sqlMap
             sqlMap.queryForObject("getPerson", personId);


//This is my "SQLMapConfigWeb.xml"

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"


file (e.g. "${driver}". The file is usually relative to the classpath and is
optional. -->
<properties resource="SqlMapConfigAS400.properties" />
 <settings cacheModelsEnabled="true" enhancementEnabled="true"
lazyLoadingEnabled="true" maxRequests="32" maxSessions="10"
maxTransactions="5" useStatementNamespaces="false" />
    <transactionManager type="JDBC">
      <dataSource type="SIMPLE">
     <property name="JDBC.Driver" value="${driver}" />

         <property name="JDBC.ConnectionURL" value="${url}" />

         <property name="JDBC.Username" value="${username}" />

         <property name="JDBC.Password" value="${password}" />

   <sqlMap resource="ExternalTable.xml" />


View raw message