`
xiaoxuesheng
  • 浏览: 7012 次
社区版块
存档分类
最新评论

spring4集成hibernate4:xml方式

    博客分类:
  • ssh
阅读更多
User.java
package com.lzj.www.model;

public class User {

	private Integer id;
	private String name;
	
	public Integer getId() {
		return id;
	}
	
	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
}


UserServiceImpl.java
package com.lzj.www.service.impl;


import org.springframework.orm.hibernate4.support.HibernateDaoSupport;

import com.lzj.www.model.User;
import com.lzj.www.service.UserService;


public class UserServiceImpl extends HibernateDaoSupport implements UserService{

	@Override
	public void addUser(User user) {
		this.getHibernateTemplate().save(user);
	}	
	
}


User.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.lzj.www.model">
	
	<class name="User" table="user">
		<id name="id">
			<generator class="increment"/>
		</id>
		<property name="name"/>
	</class>
	
</hibernate-mapping>

hibernate.cfg.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<mapping resource="com/lzj/www/model/User.hbm.xml"/>
	</session-factory>
</hibernate-configuration>

applicationContext.xml
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:cache="http://www.springframework.org/schema/cache" xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-4.0.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
       http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.0.xsd">
    <!-- 引入properties文件 -->
    
    <context:property-placeholder location="classpath:appConfig.properties" />
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="driverClass" value="${driver}" />
        <property name="jdbcUrl" value="${url}" />
        <property name="user" value="${user}" />
        <property name="password" value="${password}" />
        <property name="initialPoolSize" value="5" />
    </bean>

    <!-- 配置sessionFactory -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <!-- 数据源 -->
        <property name="dataSource" ref="dataSource" />

        <!-- hibernate的相关属性配置 -->
        <property name="hibernateProperties">
            <value>
                <!-- 设置数据库方言 -->
                hibernate.dialect=org.hibernate.dialect.MySQLDialect
                <!-- 设置自动创建|更新|验证数据库表结构 -->
                hibernate.hbm2ddl.auto=update
                <!-- 是否在控制台显示sql -->
                hibernate.show_sql=true
                <!-- 是否格式化sql,优化显示 -->
                hibernate.format_sql=true
                <!-- 是否开启二级缓存 -->
                hibernate.cache.use_second_level_cache=false
                <!-- 是否开启查询缓存 -->
                hibernate.cache.use_query_cache=false
                <!-- 数据库批量查询最大数 -->
                hibernate.jdbc.fetch_size=50
                <!-- 数据库批量更新、添加、删除操作最大数 -->
                hibernate.jdbc.batch_size=50
                <!-- 是否自动提交事务 -->
                hibernate.connection.autocommit=true
                <!-- 指定hibernate在何时释放JDBC连接 -->
                hibernate.connection.release_mode=auto
                <!-- 创建session方式 hibernate4.x 的方式 -->
                hibernate.current_session_context_class=org.springframework.orm.hibernate4.SpringSessionContext
                <!-- javax.persistence.validation.mode默认情况下是auto的,就是说如果不设置的话它是会自动去你的classpath下面找一个bean-validation**包 
                    所以把它设置为none即可 -->
                javax.persistence.validation.mode=none
            </value>
        </property>
        
        <!-- 引入hibernate的配置文件 -->
         <property name="configLocation" value="classpath:hibernate.cfg.xml"/>  

    </bean>
    
    <!-- 定义事务管理 -->
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
        	<!-- 针对不同的方法的具体事务操作 -->
            <tx:method name="add*" propagation="REQUIRED" />
            <!-- 
                read-only="true"  表示只读
             -->
            <tx:method name="*" propagation="NOT_SUPPORTED" read-only="true" />
        </tx:attributes>
    </tx:advice>

    <!-- 定义切面,执行有关的hibernate session的事务操作 -->
    <aop:config>
    	<!-- 定义在哪里使用事务 -->
        <aop:pointcut id="serviceOperation" expression="execution(* com.lzj.www.service.impl.*.*(..))" />
        <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" />
    </aop:config>
    
    <!-- 为该对象注入sessionFactory,否则在使用this.getHibernateTemplate()时会报nullException -->
    <bean id="userService" class="com.lzj.www.service.impl.UserServiceImpl">
		<property name="sessionFactory" ref="sessionFactory"/>
	</bean>
    
</beans>

test.java
package com.lzj.www.test;

import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.lzj.www.model.User;
import com.lzj.www.service.UserService;

public class test {

	@Test
	public void test01(){
		
//		BeanFactory factory = new ClassPathXmlApplicationContext("beans.xml");
//		UserService userService = (UserService)factory.getBean("userService");
//		userService.service("xiaoming");
		
//		UserService userService = new UserServiceImpl();
		BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserService userService = (UserService)factory.getBean("userService");
		User user = new User();
		user.setName("name");
		userService.addUser(user);
	}
	
	public static void main(String[] args) {
		
		BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserService userService = (UserService)factory.getBean("userService");
		User user = new User();
		user.setName("xiaoming");
		userService.addUser(user);
		
	}
	
}
0
0
分享到:
评论

相关推荐

    spring4集成hibernate3:xml方式

    本文将深入探讨如何在Spring 4中集成Hibernate 3,以XML配置方式进行,这是一种相对传统但仍然广泛使用的实践方法。我们将讨论相关的配置、实体管理以及事务处理等方面的知识。 首先,Spring 4提供了对多种持久化...

    struts2-spring4-hibernate4_xml配置的框架

    Struts2-Spring4-Hibernate4 XML配置的框架是一个经典的Java Web开发架构,它整合了三个主流的开源框架:Struts2、Spring4和Hibernate4。这个框架的配置主要通过XML文件来完成,同时也可以结合注解的方式进行更加...

    Spring-hibernate结合使用全xml配置方式

    通过以上步骤,你已经成功地将Spring和Hibernate整合在一起,使用全XML配置方式实现了数据访问层。这种方式虽然较为繁琐,但能清晰地分离各层职责,便于管理和维护。在实际项目中,还可以考虑使用注解配置或者Spring...

    Spring与Hibernate集成

    **Spring与Hibernate集成详解** 在Java企业级应用开发中,Spring和Hibernate是两个非常重要的框架。Spring是一个全方位的轻量级应用框架,提供了强大的依赖注入、AOP(面向切面编程)以及各种服务管理功能。而...

    spring4+hibernate4整合例子

    Spring4和Hibernate4是Java开发中的两大核心框架,它们分别负责应用的依赖管理和持久化数据。这个整合例子展示了如何在Eclipse环境中将这两个框架结合在一起,实现一个完整的数据访问层。接下来,我们将深入探讨...

    spring4配置hibernate3

    这个压缩包文件“spring4-hibernate3-demo”很可能是包含了一个示例项目的源代码,用于演示这种集成。 首先,我们需要理解Spring 4和Hibernate 3的基本概念。Spring是一个全面的开源应用框架,它提供了依赖注入、...

    struts2.1.8 集成 spring hibernate需要的 核心 jar

    这个版本的Struts2集成了Spring和Hibernate,使得开发者能够更方便地管理控制层(Controller)和持久层(Persistence Layer)。Spring是一个全面的后端应用框架,而Hibernate则是一个流行的ORM(对象关系映射)工具...

    springMvc+spring4+hibernate4搭建demo

    在Spring MVC和Spring框架中,我们可以通过Spring的HibernateTemplate或JPA Repository接口来集成Hibernate。配置文件`hibernate.cfg.xml`定义了数据库连接参数,而实体类则代表数据库表,通过注解如@Entity、@Table...

    spring-boot 集成hibernate

    在本文中,我们将深入探讨如何将Spring Boot与Hibernate集成,并使用Druid作为数据库连接池。首先,我们需要理解这三个核心组件: 1. **Spring Boot**: 是一个由Pivotal团队提供的开源框架,它简化了创建独立的、...

    strut2与spring4与hibernate4整合

    此外,Spring4的DAO支持简化了与各种数据库的交互,包括对Hibernate的集成。 **Hibernate4** 是一个流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库。Hibernate4通过映射Java类到...

    Spring集成Jpa(Hibernate实现)

    Spring集成JPA(Java Persistence API)是将Spring框架与ORM(Object-Relational Mapping)解决方案之一的Hibernate结合使用的常见实践。这个例子展示了如何在Spring应用中配置和使用JPA,以便利用Hibernate作为JPA...

    spring4+springmvc4+hibernate4 整合

    在本项目"spring4+springmvc4+hibernate4 整合"中,我们将探讨这三者的集成过程,以及它们如何协同工作来构建高效、可维护的Web应用程序。 **Spring Framework 4** Spring 是一个全面的Java应用框架,提供依赖注入...

    SpringMVC+Spring3+hibernate4集成必备jar包

    在集成Hibernate4时,需要的jar包包括: 1. hibernate-entitymanager.jar:实体管理功能,支持JPA规范。 2. hibernate-core.jar:Hibernate的核心库,包括查询语言HQL和Criteria API。 3. hibernate-validator.jar:...

    Spring4+Hibernate4+SpringMvc

    在Spring4+Hibernate4+SpringMvc的集成项目中,通常会使用Spring的DataSource来配置数据源,然后通过SessionFactory和Session接口进行数据库操作。Hibernate的实体类会通过注解或配置文件与数据库表关联。SpringMvc...

    ssh集成jar包,支持spring集成Hibernate,spring集成struts2等

    - Spring与Hibernate集成,通常使用Spring的HibernateTemplate或HibernateDaoSupport,提供事务管理和数据访问抽象,使得代码更简洁,事务控制更方便。 - Spring与Struts2集成,Spring可以作为Struts2的Action的...

    Spring4+SpringMVC4+Hibernate4整合源码

    Spring4、SpringMVC4和Hibernate4是Java开发中非常重要的三个框架,它们分别负责不同的职责,共同构建了一个强大的企业级应用开发环境。Spring4作为核心框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能,极...

    spring4+hibernate4+security4整合

    本文将详细解析"spring4+hibernate4+security4整合"的相关知识点,帮助开发者理解如何将这三个强大的工具集成为一个高效、安全的系统。 首先,Spring是一个全面的后端开发框架,它提供了依赖注入(Dependency ...

    spring4+hibernate4实现增删改查

    首先,Spring4是一个全面的Java应用程序框架,它提供了一种方式来管理组件(或称为bean)之间的依赖关系,以此来实现控制反转(IoC)和面向切面编程(AOP)。Spring4还提供了对数据访问、Web应用、事务管理等的支持...

    spring4+hibernate4+maven

    描述中的"内附demo"可能包含了一个实际运行的示例,展示了如何在Spring4中集成Hibernate4进行数据操作,以及如何使用Maven来管理项目。这通常包括了配置文件(如Spring的applicationContext.xml或Hibernate的...

    Spring集成Hibernate myeclipse 下

    在"Spring集成Hibernate Myeclipse下"的场景中,我们首先需要配置MyEclipse环境,确保安装了Spring和Hibernate的插件,以及Tomcat服务器。接下来,我们将逐步介绍集成过程中的关键步骤: 1. **创建项目结构**:创建...

Global site tag (gtag.js) - Google Analytics