|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。
把hibernate用到的包全体放进web使用程序的lib内里,然后界说hibernate.cfg.xml,也就是插件的设置信息,以下
<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEhibernate-configurationPUBLIC"-//Hibernate/HibernateConfigurationDTD//EN""http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"><hibernate-configuration><session-factory><propertyname="show_sql">false</property><propertyname="use_outer_join">true</property><propertyname="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</property><propertyname="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property><propertyname="hibernate.connection.url">jdbc:mysql:///test</property><propertyname="hibernate.connection.username">root</property><propertyname="hibernate.connection.password"></property><propertyname="hibernate.connection.pool.size">20</property><propertyname="session_factory_name">hibernate/session_factory</property><!--Mappingfiles--><mappingresource="/homepage/Artical.hbm.xml"/>
</session-factory></hibernate-configuration>信息很分明的,就是设置数据库等信息,我们使用jndi来查找SessionFactory,上面是插件程序,HibernatePlugIn.java
importorg.apache.struts.action.PlugIn;importorg.apache.struts.action.ActionServlet;importorg.apache.struts.config.ModuleConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletContext;importnet.sf.hibernate.SessionFactory;importnet.sf.hibernate.cfg.Configuration;publicclassHibernatePlugInimplementsPlugIn{publicvoiddestroy(){}publicvoidinit(ActionServletservlet,ModuleConfigconfig)throwsServletException{try{ServletContextcontext=servlet.getServletContext();SessionFactorysf=newConfiguration().configure().buildSessionFactory();context.setAttribute("net.sf.hibernate.SessionFactory",sf);}catch(Exceptionex){ex.printStackTrace();}}}响应的,要在struts-config.xml设置插件信息,也许以下,注重路径
<plug-inclassName="homepage.HibernatePlugIn"><set-propertyproperty="configFilePath"value="/WEB-INF/classes/hibernate.cfg.xml"/><set-propertyproperty="storeInServletContext"value="true"/></plug-in>
今后就能够使用java.naming.Context,java.naming.InitiaContext来查找
Contextct=newInitialContext();sessions=(SessionFactory)ct.lookup("hibernate/session_factory");session=sessions.openSession();
固然,另有别的两种整合体例,我以为这类办法更加天真,也对照简单把握
没有那个大公司会傻了吧唧用.net开发大型项目,开发了,那等于自己一半的生命线被微软握着呢。而.net不行,限制在window系统,又是捆绑,鄙视微软之! |
|