SSH整合实现简单的crud

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

整合的方式:
1)spring+hibernte的整合:

首先加入和spring有关的jar文件.
加入和hibernate有关的jar文件.
和数据库操作( 连接池)有关的
配置文件:log4j jdbc.properties等

之前hibernate全局配置文件中的信息,现在在sping的配置文件applicationContext.xml中进行设置;

①配置数据源 dataSourse ,和DBCP BasicDataSource
②配置SessionFactory spring 将dataSourse注入sessionFactory
③将sessionFactory拿给XXDaoImpl用; 通常实现过程中,xxDaoImpl继承HibernateDaoSupport.


配置文件之外的操作:
①定义实体类(javabean)
②映射文件 实体类名.hbm.xml
③写Dao接口,UserDao 以及接口对应的那个实现类;UserDaoImpl继承HibernateDaoSupport.
④写biz(service)层; 调用xxDaoImpl类的实现,这里通常是写一个接口的引用;
private UserDao ud;
⑤在applicationContext.xml中加入和bean有关的信息(定义bean 注入)?
需要将实体类名.hbm.xml 在xml中进行配置.
⑥编写junit的测试类,尝试获取sevice中的类已经方法调用,看功能是否正常.






2)+struts2的整合:
首先 在struts2包下有一个plugin struts-spring-plugin2.3.20.jar
加入和struts2有关的其他的jar文件.

在classpath中加入struts的配置文件:struts.xml,配置的内容 常量,package,action,result等

修改web.xml文件,在这个文件中加入一个过滤器,.....

修改web.xml文件,在这个文件中加入一个监听器,希望web application启动的时候,帮我们初始化
spring容器.

其他层的编码:
XXAction 继承ActionSupport/调用XXservice,

在struts.xml中配置action和result;


Action中的属性也需要注入,也可以在applicationContext.xml中进行注入.


jsp页面的编码,提交表单给action,完成程序.

-------------------------------------------------------------------------------------------

有问题:
增加用户的时候,希望能在增加操作之后,加入一个日志记录.
什么时候,做了一个什么操作.


事务的基本概念?
四个特征?
java语言jdbc支持事务操作?怎么整?
得到一个connection
conn.setAutoCommit(false);

try{....
...
...
mit();
}catch(Exception ex)
{
conn.rollBack();
}


Hibernate中如何处理事务?
得到session对象

session.beginTranscation();//开始事务

try{
session.save();
session.saveorupdate();
session....

session.getTranscation().comomit();
}catch(Exception ex)
{
session.getTranscation().rollback();
}


编程式事务;

声明式事务:

使用注解来配置的话:

① 修改applicationContext.xml这个文件的头部,加入支持事务的tx
② 定义一个事务管理的bean:

有关的bean -->
class="org.springframework.orm.hibernate3.HibernateTransactionManager">








④将事务配置信息写在service中的方法前:
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_UNCOMMITTED)



漏掉了几个配置:




相关文档
最新文档