我的spring+hibernate整合方案
2013-04-21 20:03
253 查看
1、spring的jar包手动添加,web.xml
加入
<!-- 指定spring配置文件位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
<!--加载多个spring配置文件 -->
/WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml
</param-value>
</context-param>
<!-- 定义SPRING监听器,加载spring -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
2、hibernate用myeclipse添加,生成独立的src/hibernate.cfg.xml
这里面配置hibernate,以及*.hbm.xml
在其中设置数据库方言(数据库类型)
3、applicationContext.xml中c3p0配置数据源,然把数据源注入sessionFactory
<bean id="dataSource" class="com.mchange.v2.c3p0. ComboPooledDataSource"
destroy-method="close">
<!-- 指定连接数据库的驱动 -->
<property name="driverClass" value="com.mysql.jdbc.Driver" /> <!-- 指定连接数据库的URL -->
<property name="jdbcUrl" value="jdbc:mysql://localhost/j2ee" />
<!-- 指定连接数据库的用户名 -->
<property name="user" value="root" /> <!-- 指定连接数据库的密码 -->
<property name="password" value="32147" /> <!-- 指定连接数据库连接池的最大连接数 -->
<property name="maxPoolSize" value="40" /> <!-- 指定连接数据库连接池的最小连接数 -->
<property name="minPoolSize" value="1" /> <!-- 指定连接数据库连接池的初始化连接数 -->
<property name="initialPoolSize" value="1" /> <!-- 指定连接数据库连接池的连接最大空闲时间 -->
<property name="maxIdleTime" value="20" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:hibernate.cfg.xml" />
</bean>
配置编码方式,用spring编码过滤器 web.xml中加入最上面
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
spring注解,
@Repository("userDao") //等价于在applicationContext.xml声明了一个id为user到的bean
public class UserDao extends HibernateDaoSupport{
@Resource(name="sessionFactory")//把spring容器中id为sessionFactory的bean注入到本方法中
public void setMySessionFactory(SessionFactory sessionFactory) {
super.setSessionFactory(sessionFactory);
}
/*只需要在对应的类上加上一个@Component注解,
就将该类定义为一个Bean了。
Spring还提供了更加细化的注解形式:@Repository(DAO层)
@Service(服务层)
@Controller(控制层)
*/
}
加入
<!-- 指定spring配置文件位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
<!--加载多个spring配置文件 -->
/WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml
</param-value>
</context-param>
<!-- 定义SPRING监听器,加载spring -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
2、hibernate用myeclipse添加,生成独立的src/hibernate.cfg.xml
这里面配置hibernate,以及*.hbm.xml
在其中设置数据库方言(数据库类型)
3、applicationContext.xml中c3p0配置数据源,然把数据源注入sessionFactory
<bean id="dataSource" class="com.mchange.v2.c3p0. ComboPooledDataSource"
destroy-method="close">
<!-- 指定连接数据库的驱动 -->
<property name="driverClass" value="com.mysql.jdbc.Driver" /> <!-- 指定连接数据库的URL -->
<property name="jdbcUrl" value="jdbc:mysql://localhost/j2ee" />
<!-- 指定连接数据库的用户名 -->
<property name="user" value="root" /> <!-- 指定连接数据库的密码 -->
<property name="password" value="32147" /> <!-- 指定连接数据库连接池的最大连接数 -->
<property name="maxPoolSize" value="40" /> <!-- 指定连接数据库连接池的最小连接数 -->
<property name="minPoolSize" value="1" /> <!-- 指定连接数据库连接池的初始化连接数 -->
<property name="initialPoolSize" value="1" /> <!-- 指定连接数据库连接池的连接最大空闲时间 -->
<property name="maxIdleTime" value="20" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:hibernate.cfg.xml" />
</bean>
配置编码方式,用spring编码过滤器 web.xml中加入最上面
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
spring注解,
@Repository("userDao") //等价于在applicationContext.xml声明了一个id为user到的bean
public class UserDao extends HibernateDaoSupport{
@Resource(name="sessionFactory")//把spring容器中id为sessionFactory的bean注入到本方法中
public void setMySessionFactory(SessionFactory sessionFactory) {
super.setSessionFactory(sessionFactory);
}
/*只需要在对应的类上加上一个@Component注解,
就将该类定义为一个Bean了。
Spring还提供了更加细化的注解形式:@Repository(DAO层)
@Service(服务层)
@Controller(控制层)
*/
}
相关文章推荐
- spring+hibernate+struts2整合方案(2,整合细则)
- 我的第一个Struts+Hibernate+Spring整合方案
- spring+hibernate+struts2整合方案(1)
- spring 整合hibernate方案之一
- Struts,Spring,Hibernate整合方案之一
- Struts Spring Hibernate (SSH) 整合实例
- SpringMVC+Apache Shiro+JPA(hibernate)案例教学(一)整合配置
- spring整合hibernate中,利用单元测试结果无错却无法保留到数据库中
- Struts 2 + Spring 2.0 + Hibernate 3.0整合笔记
- 探讨Spring与Hibernate的整合所遇到的管理Session的问题
- Spring学习_04_Spring和Hibernate整合数据源(DataSource)
- id to load is required for loading 对Struts,Hibernate,Spring整合开发中遇到问题
- 轻量级Java EE企业应用实战(第3版)——Struts 2+Spring 3+Hibernate整合开发
- 8 -- 深入使用Spring -- 8... Spring整合Hibernate
- Spring+Hibernate框架整合-分页
- 09-Spring-spring整合注解形式的hibernate
- SSH的整合,Spring与Hibernate整合,与Struts2整合,ssh整合
- Spring整合技术之Hibernate
- 传智播客--Spring中的事务管理,hibernate整合,struts整合(佟刚)
- 用maven整合struts+spring+hibernate之三 加入框架支持