Hibernate顺利协同工作(4)
时间:2009-12-07
文中DBConnectionManager.getConnection()是一个DAO类,提供连接池的实现。
我们使用这个con连接来创建一个 session ,sission是一个数据库连接操作的会话周期,它提供了强大的管理数据的能力。
以后我们在action的 execute 方法中就可以使用 Hi.getSession()来获得一个会话支持。典型的应用如下:
try{
//开启一个会话,并启动事务回滚能力
Session session = Hi.getSession();
Transaction tx= session.beginTransaction();
//查询数据库,使用HQL
Query q = session.createQuery("from Topic as topic order by topic.id desc");
q.setFirstResult(0);
q.setMaxResults(5);
//得到一个List类型的数据
List newTopicList = q.list();
// 业务处理
NewTopicList ntlBean=new NewTopicList();
ntlBean.setList(newTopicList);
req.setAttribute("newtopiclist",ntlBean);
//事务提交,记得关闭会话!
tx.commit();
Hi.closeSession();
}//因为整个会话会抛出异常,所以需要用try--catch来包裹
catch(HibernateException e){
//日志记录
Log.error(e.toString());
}
其中的HQL 可以参考 hibernate 官方文档来学习。
三,Struts
struts 的配置文件 struts-config.xml 放在 应用的 /WEB-INF/目录下面,大致的配置如下
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
<struts-config>
<form-beans>
<form-bean name="loginForm" type="net.seerlog.vo.LoginForm"/>
<form-bean name="replyForm" type="net.seerlog.vo.ReplyForm"/>
</form-beans>
<global-forwards>
<forward name="index" path="/first.jsp"/>
</global-forwards>
<action-mappings>
<action path="/login" type="net.seerlog.action.LoginAction" scope="request" name="loginForm" input="/login.jsp">
<forward name="success" path="/success.jsp"/>
</action>
<action path="/blog" type="net.seerlog.action.BlogAction" scope="request">
<forward name="success" path="/sublog.jsp"/>
</action>
<action path="/topic" type="net.seerlog.action.TopicAction" scope="request">
<forward name="success" path="/sutopic.jsp"/>
</action>
<action path="/posttopic" type="net.seerlog.action.PostTopicAction" scope="request" >
</action>
<action path="/postreply" type="net.seerlog.action.PostReplyAction" scope="request" name="replyForm" input="/sublog.jsp">
</action>
<action path="/index" type="net.seerlog.action.IndexAction" scope="request">
</action>
</action-mappings>
<message-resources parameter="resouse.application">
</message-resources>
</struts-config>
这里的配置有一个可视化工具叫做 struts-console,目前版本4.8,网上可以免费下载的到。
配置文件其实不用去记,需要时参 |