—高级软件人才实作培训 专家! Hibernate常用属性: 映射 1.2.5 HibernateTemplate的API: Serializable save(Object entity) void update(Object entity) void delete(Object entity) :保存数据 :修改数据 :删除数据 :根据ID进行检索.立即检索 :根据ID进行检索.延迟检索. :支持HQL查询.直接返回List集合. :离线条件查询. List findByNamedQuery(String queryName, Object... values) :命名查询的方式. 16 —高级软件人才实作培训 专家! 1.2.6 OpenSessionInView: 1.3 基于注解的方式整合SSH: 导入以上工程jar包: * 导入struts2的注解开发: * struts2-convention-plugin-2.3.15.3.jar * web.xml: lass> er * 创建包结构: * 引入spring的配置文件、log4j、jdbc属性文件. * 创建页面: * 创建Action: @Namespace(\ 17 @ParentPackage(\ private Book book = new Book(); public Book getModel() { } @Action(value=\ public String add(){ } } return book; public class BookAction extends ActionSupport implements ModelDriven —高级软件人才实作培训 专家! System.out.println(\层添加图书...\return NONE; * Action---Service----Dao 将各层类使用注解装配Spring中: @Controller @Service @@Repository 完成属性注入: @Autowired @Qualifier(\ * 实体类: @Entity @Table(name=\public class Book { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id; @Column(name=\ private String name; private Double price; public Integer getId() { } public void setId(Integer id) { } public String getName() { } return name; this.id = id; return id; 18 public void setName(String name) { } public Double getPrice() { } return price; this.name = name; —高级软件人才实作培训 专家! public void setPrice(Double price) { } @Override public String toString() { } } * 事务管理: * 模板注入: return \this.price = price; 今天内容总结: Spring的事务管理: * 编程式事务:(了解) * 声明式事务: * TransactionProxyFactoryBean. * AOP和事务配置:(*****) * 基于注解事务管理:(*****) SSH整合: * SSH整合(带有hibernate配置文件) * 导包: * 配置文件: * Struts2+Spring * 两种方式: * Action的类由Struts框架创建. * Action的类由Spring框架创建.(scope=”prototype”) * Spring+Hibernate: * 在Spring框架中引入Hibernate的配置文件. * 管理事务: * DAO中注入sessionFactory. * SSH整合(不带Hibernate配置文件) * 导包: 19 * 配置文件: * Struts2+Spring * 两种方式: —高级软件人才实作培训 专家! * Action的类由Struts框架创建. * Action的类由Spring框架创建.(scope=”prototype”) * Spring+Hibernate * 把Hibernate配置信息配置到Spring中 * 管理事务: * DAO中注入sessionFactory. * SSH注解.(**) * Struts2: * 在Action的类上 * @Namespace(“/”) * @ParentPackage(\ * 在要执行的方法上: * @Action * 把Action/Service/Dao交给Spring. * Action: @Controller(\@Scope(\* Service @Service * Dao @Repository * 配置Spring中自动扫描; base-package=\ * 映射: @Entity @Table(name=\public class Book { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id; @Column(name=\private String name; ... } 20 * 配置SessionFactory: —高级软件人才实作培训 专家! class=\ * 事务管理: class=\ * DAO中使用Hibernate模板: * 手动注入HibernateTemplate : class=\ @Autowired @Qualifier(\ private HibernateTemplate hibernateTemplate; key=\ 21