ssh,
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/>
评论暂时关闭