ssh,


首先,分层 规划出每个的流程

持久层  数据库交互    web调用业务层 业务层调用持久层

hibernate   完成保存操作

public class BookDao(){

public void save(Book BOOK){  //保存的方法

configuration cfg=new configuration().configur();//加载配置文件 

sessionFactory cf= cfg.buildSessionFactory();//创建sessionfactory对象 生成session工厂

Session session=sf.openSession();//由session工厂获取session

Transaction tx= session.begin();//开启事务

/*

Hibernate openSession() 和 getCurrentSession的区别

getHiberanteTemplate 、getCurrentSession和OpenSession
采用getCurrentSession()创建的Session会绑定到当前的线程中去、而采用OpenSession()则不会。

采用getCurrentSession()创建的Session在commit或rollback后会自动关闭,采用OpenSession()必须手动关闭。

采用getCurrentSession()需要在Hibernate.cfg.xml配置文件中加入如下配置:

如果是本地事物,及JDBC一个数据库:

<propety name=”Hibernate.current_session_context_class”>thread</propety>

如果是全局事物,及jta事物、多个数据库资源或事物资源:

<propety name=”Hibernate.current_session_context_class”>jta</propety>

使用spring的getHiberanteTemplate 就不需要考虑事务管理和session关闭的问题:

*/


session.save(book);


tx.commit();


session.close;

}

}


spring业务层

public class bookservie{

//向调用dao则需要注入

private  BookDao bookDao;

public void setBookDao (BOOK Book){

this.bookDao=bookDao;

}

public void save(Book book){

bookDao.save(book)}

}


'

<bean id="bookDao" class="...BookDao">

</bean>


<bean id="bookServicce" class="..BookService >

      <property name="bookDao" ref ="bookDao"/>

</bean>



第一部分web层

struts2


public class BookAction extends ActionSurpport implemen

ts ModelDriven<Book>(

         private Book book=new Book();

         public Book getModel(){

             return book;}

public String save(){

Webapplicationcontext wap=webapplicationcontextutils.getWebApplicationcontext(...);

BookService bs=wap.getBean("bookService");

bs.save(book);

}


http://blog.csdn.net/luoye120/article/details/30467063 

http://blog.csdn.net/li_tengfei/article/details/6098145


publicclass UserAction implements ModelDriven{

   

    private User user;

   

    @Override

    public Object getModel() {

       if(user == null){

           user = new User();

       }

       returnuser;

    }

 

    public String add(){

 

       new UserManager().addUser(user);

      

       return"success";

    }

 

    public User getUser() {

       returnuser;

    }

 

    publicvoid setUser(User user) {

       this.user = user;

    }

}





<form action="test/user.action" method="post">

        <input type="hidden" name="method:add">

        username:<input type="text" name="username"><br/>

        password:<input type="text" name="password"><br/>

        age:<input type="text" name="age"><br/>

        <input type="submit" name="submit" value="添加用户">

     </form><br/>


















相关内容

    暂无相关文章