版本:Spring3+hibernate3+struts2+jdk1.7
主要是将之前的spring、Hibernate集成和ssm集成的东西相结合。
jar包
在集成过程中主要解决的问题Hibernate和struts的jar包冲突,有两个不同版本的asm包:两种方式将cglib换为2.2版本,删高版本的asm。两个log4j不会引起冲突。后面要用注解方式,因此需要将Hibernate的注解包加入。
实体层
注意:加entity注解时,导入的是javax.persistence.*下的不是hibernate的,类的属性要与数据库一致。
package com.spring.entity;
import javax.persistence.*;
@Entity
public class Dept implements java.io.Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@Column(length=40)
private String dname;
@Column(length=40)
private String dnumber;
@Column(length=40)
private String dloc;
}
DAO层
一个接口和其实现类,以分页查询为例。
package com.spring.dao;
import java.util.List;
public interface BaseDao {
List<?> findWithPage(int page,int rows,String HQL);
}
注意参数需要是final的
package com.spring.dao;
import java.sql.SQLException;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class BaseDaoImp extends HibernateDaoSupport implements BaseDao{
@Override
public List<?> findWithPage(