1 16 package dlog4j; 17 18 import java.sql.Connection ; 19 import java.sql.ResultSet ; 20 import java.sql.SQLException ; 21 import java.sql.Statement ; 22 23 import javax.servlet.ServletContext ; 24 import javax.sql.DataSource ; 25 26 import net.sf.hibernate.HibernateException; 27 import net.sf.hibernate.Session; 28 import net.sf.hibernate.SessionFactory; 29 30 35 public class ManagerBase { 36 37 private static ServletContext context; 38 39 protected static void init(ServletContext servletContext) { 40 if(servletContext!=null) 41 context = servletContext; 42 } 43 47 public static Session getSession() throws SQLException { 48 SessionFactory sessions = (SessionFactory)context.getAttribute(dlog4j.Globals.HIBERNATE_SESSIONS_KEY); 49 return sessions.openSession(getConnection()); 50 } 51 56 public static Connection getConnection() throws SQLException { 57 DataSource dataSource = (DataSource )context.getAttribute(org.apache.struts.Globals.DATA_SOURCE_KEY); 58 return dataSource.getConnection(); 59 } 60 66 public static void commitSession(Session session, boolean close) throws SQLException , HibernateException{ 67 session.flush(); 68 session.connection().commit(); 69 if(close){ 70 session.connection().close(); 71 session.close(); 72 } 73 } 74 80 public static void closeSession(Session session) throws SQLException ,HibernateException{ 81 session.connection().close(); 82 session.close(); 83 } 84 public static void close(Object obj1,Object obj2,Object obj3){ 85 close(obj1);close(obj2);close(obj3); 86 } 87 91 public static void close(Object obj){ 92 if(obj==null) 93 return; 94 try{ 95 if(obj instanceof Connection ) 96 ((Connection )obj).close(); 97 if(obj instanceof Statement ) 98 ((Statement )obj).close(); 99 if(obj instanceof ResultSet ) 100 ((ResultSet )obj).close(); 101 if(obj instanceof Session) 102 closeSession((Session)obj); 103 }catch(Exception e){} 104 obj = null; 105 } 106 107 } 108 | Popular Tags |