首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts与Hibernate调整

2012-10-30 
Struts与Hibernate整合首先分析一下不同层面他们的作用和相互关系。1 ,po? 表映射的持久对象。2,dao 封装对

Struts与Hibernate整合

首先分析一下不同层面他们的作用和相互关系。

1 ,po? 表映射的持久对象。

2,dao 封装对数据库的相关操作。

3,vo 值对象。传递数据。

4,bo 调用dao结合vo,封装业务逻辑。

?

通常情况下建立一个BaseDAO这样封装通用方法的类,有上层接口当然更好。

业务层尽量不要出现po类,尤其是hql,尽量做到层面之间的低耦合。

?

现在开始-->做一个添加和删除操作

BaseDAO

public class BaseDAO {protected void add(Object obj) throws Exception {Session session = null;try {session = HibernateSessionFactory.getSession();session.save(obj);session.beginTransaction().commit();if (session != null) {session.close();}} catch (RuntimeException e) {session.beginTransaction().rollback();if (session != null) {session.close();}throw e}。。。。。。。。。。}

?

?首先建立一个person表映射,接着是PersonDAO

PersonDAO

package sh.dao;import org.hibernate.Query;import org.hibernate.Session;import config.HibernateSessionFactory;import sh.po.Person;/* * DAO * */public class PersonDAO {public boolean add(String name, String pwd) throws Exception {BaseDAO baseDAO = new BaseDAO();Person person = new Person();person.setName(name);person.setPwd(pwd);baseDAO.add(person);return true;}public boolean delete(String name) {Session session = null;try {session = HibernateSessionFactory.getSession();session.beginTransaction();Query query = session.createQuery("delete from Person where name=?");query.setString(0, name);query.executeUpdate();session.beginTransaction().commit();if (session != null) {session.close();}} catch (Exception e) {// TODO: handle exceptionif (session != null) {session.close();}}return true;}}

?

?

struts Action 里面添上

添加

boolean flag = new PersonDAO().add(infoForm.getName(), infoForm    .getPwd());

?删除

boolean flag =  new PersonDAO().delete(infoForm.getName());

?

ok。。。重要的就这几步。

热点排行