1 创建一个普通的java项目,修改为web项目
创建web目录
- 创建WEB-INF目录
-创建classes目录
-创建lib目录
修改buildpath路径为classes
3. 再拷贝一个web.xml文件到WEB-INF目录下
4. 在创建一个resources来装配置文件
5. 拷贝applicationContext.xml db.properties 到resources目录下
6.添加依赖包
hibernate的依赖包, required下的所有包,还有数据库驱动包和连接池包
spring的依赖包
7.准备Domain实体类和映射文件
创建Employee文件和employee.hbm.xml映射文件
package com.lxx.ssh.domain;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter @Setter @ToString
public class Employee {
private Long id;
private String name;
private Integer age;
}
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.lxx.ssh.domain">
<class name="Employee" table="employee">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<property name="age"/>
</class>
</hibernate-mapping>
8.创建DAO
创建EmployeeDAO
package com.lxx.ssh.dao;
import java.util.List;
import com.lxx.ssh.domain.Employee;
public interface IEmployeeDAO {
public void save(Employee e);
public void delete(Employee e);
public void update(Employee e);
public Employee get(Long id);
public List<Employee> listAll();
}
创建EmployeeDAOImpl实现类和测试类
9 Spring和Hibernate集成
单独属于hibernate时候需要创建一个hibernate.cfg.xml 来数据库连接信息,现在都交给spring管理在applicationContext.xml
中配置
1 配置连接池
2 配置sessionFactory
2.1)配置DataSource属性,管理连接池,
<!-- 属性占位符 引入classpath:db.properties -->
<context:property-placeholder location="classpath:db.properties"
system-properties-mode="NEVER" />
<!-- 配置连接池 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close">
<property name="driverClassName" value="${jbdc.driverClassName}" />
<property name="url" value="${jbdc.url}" />
<property name="username" value="${jbdc.username}" />
<property name="password" value="${jbdc.password}" />
</bean>
2.2)配置hibernateProperties属性,表示hibernate的属性配置(方言,是否打印SQL,格式化SQL等)
<!--配置sessionFactory LocalSessionFactoryBean 创建spingbean实例4种方法第四种 -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<!-- 配置连接池 -->
<property name="dataSource" ref="dataSource" />
<!-- 配置Hibernate的属性配置 -->
<property name="hibernateProperties">
<value>
<!-- -->
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
<!-- -->
hibernate.show_sql=true
<!-- -->
hibernate.hbm2ddl.auto=update
</value>
</property>
<!-- 之前的hib.cfg.xml需要管联映射文件,现在映射文件在这里
映射文件的位置
-->
<property name="mappingLocations" value="com/lxx/ssh/domain/*.hbm.xml"/>
</bean>
2.3)映射文件的位置
<!-- 配置DAO -->
<bean id="employeeDAO" class="com.lxx.ssh.dao.impl.EmployeeDAOImpl">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
2.4)配置事务管理器
因为 方法必须有事务
Session session = sessionFactory.getCurrentSession();