Spring和Hibernate集成

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();

            

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值