Struts2和Hibernate5是怎样整合的?
时间: 2024-02-22 22:59:50 浏览: 125
Struts2和Hibernate5的整合可以通过以下步骤完成:
1. 引入Struts2和Hibernate5的相关依赖包。
2. 在struts.xml中配置Hibernate的拦截器。
3. 在Hibernate配置文件中配置数据库连接信息和实体类映射关系。
4. 在Action中注入SessionFactory,并在方法中使用Hibernate API操作数据库。
以下是一个简单的示例:
1. 引入相关依赖包:
```xml
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.26</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.5.6.Final</version>
</dependency>
```
2. 在struts.xml中配置Hibernate的拦截器:
```xml
<action name="user" class="com.example.UserAction">
<interceptor-ref name="defaultStackHibernate">
<param name="sessionFactory">SessionFactory</param>
</interceptor-ref>
<result name="success">/user.jsp</result>
</action>
```
3. 在Hibernate配置文件中配置数据库连接信息和实体类映射关系:
```xml
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<mapping class="com.example.User"/>
</session-factory>
</hibernate-configuration>
```
4. 在Action中注入SessionFactory,并在方法中使用Hibernate API操作数据库:
```java
public class UserAction extends ActionSupport {
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public String execute() {
Session session = sessionFactory.getCurrentSession();
Transaction tx = session.beginTransaction();
User user = new User();
user.setUsername("test");
user.setPassword("123456");
session.save(user);
tx.commit();
return SUCCESS;
}
}
```
阅读全文