`

spring_hibernate_xml

 
阅读更多
一、实体类
public class User {
	private int id;
	private String name;
	
	public String getName() {
		return name;
	}

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

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}
}

对应数据库映射文件
<?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.job.model">

    <class name="User" table="Users">
        <id name="id" column="USER_ID">
            <generator class="native"/>
        </id>
        <property name="name" type="java.lang.String">
            <column name="name">
            </column>
        </property>
    </class>

</hibernate-mapping>


二.处理DAO接口
public interface UserDAO {
	public void save(User u);
}

对应处理DAOImpl实现
@Component
public class UserDAOImpl implements UserDAO{
	
	private SessionFactory sessionFactory;
	
	public void save(User u) {
			try {
				Session s = sessionFactory.openSession();
				s.beginTransaction();
				s.save(u);
				s.getTransaction().commit();
			} catch (Exception e) {
				e.printStackTrace();
			}
	}

	public SessionFactory getSessionFactory() {
		return sessionFactory;
	}
	@Resource(name="sessionFactory")
	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}
}

将在spring容器内的sessionFactory注入到处理层中,处理数据

三。服务层
@Component
public class UserService {
	
	private UserDAO userDAO;
	
	public void add(User u){
		this.userDAO.save(u);
	}

	public UserDAO getUserDAO() {
		return userDAO;
	}
	@Resource(name="userDAOImpl")
	public void setUserDAO(UserDAO userDAO) {
		this.userDAO = userDAO;
	}
}

将DAOImpl实现bean注入到服务层,供Action调用。

四、spring容器applicationContext.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
	<!-- 配置自动装配 AutowiredAnnotationBeanPostProcessor等接口,实现注入等功能 -->
	<context:annotation-config/>
	<!-- 配置扫描包路径,将包下所有组件实例化 -->
	<context:component-scan base-package="com.job"/>
	<!-- 声明一个处理实现类 -->
	<bean id="userDAOImpl" class="com.job.dao.UserDAOImpl">
		<!-- 将sessionFactory注入到处理实理类中 -->
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<!-- 在spring容器中,创建数据库连接Bean -->
    <bean id="DataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost/test?useUnicode=true&amp;characterEncoding=utf8"/>
        <property name="username" value="root"/>
        <property name="password" value="admin"/>
    </bean>
	<!-- 创建hibernate的sessionFactory -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    	<!-- 将spring容器中存在的数据库连接Bean,配置到sessionFactory中 -->
        <property name="dataSource" ref="DataSource"/>
        <!-- 配置hibernate映射实体对象到表的文件 -->
        <property name="mappingResources">
            <list>
                <value>com/job/model/user.hbm.xml</value>
            </list>
        </property>
        <!-- 配置hibernate属性,方言,显示sql,是否创建数据表 -->
        <property name="hibernateProperties">
        	<props>
        		<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
        		<prop key="hibernate.show_sql">true</prop>
        		<prop key="hibernate.hbm2ddl.auto">update</prop>
        	</props>
        </property>
    </bean>

</beans>


五、测试
public class UserServiceTest {
	public static void main(String[] args) {
		ApplicationContext ac =  new ClassPathXmlApplicationContext("applicationContext.xml");
		UserService service = (UserService)ac.getBean("userService");
		User u = new User();
		u.setName("haha success!!");
		service.add(u);
	}
}
分享到:
评论

相关推荐

    [轻量级Java_EE企业应用实战_Struts2_Spring3_Hibernate整合开发

    在实际项目中,开发者通常会结合IDE(如Eclipse或IntelliJ IDEA)和构建工具(如Maven或Gradle)来搭建SSH环境,通过配置文件(如struts.xml、spring.xml、hibernate.cfg.xml)进行集成。kjsetup.exe可能是用于安装...

    spring_hibernate整合实例

    在实际项目中,"spring_hibernate_2"可能代表一个包含多个文件的目录,比如配置文件(如applicationContext.xml、hibernate.cfg.xml)、实体类(User.java)、DAO接口和实现(UserDao.java、UserDaoImpl.java)、...

    struts_spring_hibernate .JAR包

    在实际应用中,开发者可能还需要配置Struts的配置文件(如struts-config.xml或struts2的struts.xml),Spring的配置文件(如applicationContext.xml),以及Hibernate的配置文件(如hibernate.cfg.xml)。...

    spring_hibernate工程

    开发者可以通过这些工具的配置文件(pom.xml或build.gradle)引入Spring和Hibernate的库,以及其他必要的第三方库。 此外,"源码"标签意味着这个项目可能包含了完整的代码,供学习者参考和分析。通过阅读源码,我们...

    Spring_Spring_Hibernate_HibernateTemplate

    在整合过程中,Spring通过配置XML或Java配置,管理Hibernate的SessionFactory,并将其注入到服务层,实现数据库操作的解耦。 4. **HibernateTemplate**: HibernateTemplate是Spring为简化Hibernate操作而设计的一...

    SPRING_HIBERNATE_XFIR_MYBAITS_JAR包

    《Spring、Hibernate、XFire与MyBatis:Java企业级开发四大神器》 在Java企业级应用开发中,Spring、Hibernate、XFire(现已被Apache CXF替代)和MyBatis是四大常用的开源框架,它们各自负责不同的领域,共同构建了...

    spring_hibernate集成例子

    这通常通过配置Hibernate的配置文件(hibernate.cfg.xml)和实体类映射文件(.hbm.xml)来完成。 2. **配置DataSource**:Spring管理数据源,确保与数据库的连接。你需要配置一个DataSource Bean,可以使用Apache ...

    Struts2_Spring_Hibernate整合开发实例

    在这个实例中,开发者将学习如何配置struts2.xml、spring-context.xml和hibernate.cfg.xml等核心配置文件,以实现框架间的通信。同时,还会了解到如何编写实体类、DAO(数据访问对象)和Service层接口及其实现,以及...

    struts2_spring_hibernate.jar

    Hibernate通过XML或注解方式定义实体类与数据库表的映射关系,使得开发者可以使用面向对象的方式来操作数据,避免了直接编写SQL语句的繁琐。它还支持懒加载、级联操作、缓存机制等功能,提高了数据访问的效率和便捷...

    springmvc_spring_hibernate

    在整合Spring MVC和Hibernate时,Spring可以管理它们的生命周期和bean配置,通过XML或Java配置文件来设置。 3. **Hibernate**:Hibernate是一个强大的ORM框架,它允许开发者使用Java对象直接操作数据库,避免了繁琐...

    struts_spring_hibernate整合

    6. **配置文件**:整合过程中,主要涉及到struts-config.xml、spring配置文件(如applicationContext.xml)和hibernate配置文件(如hibernate.cfg.xml),这些配置文件定义了对象的映射、事务规则、数据源等信息。...

    SPRING_HIBERNATE_XFIRE_MYBAITS_JAR包

    【标题】"SPRING_HIBERNATE_XFIRE_MYBAITS_JAR包"涉及的关键技术是Spring、Hibernate、XFire和MyBatis,这些都是Java开发中的核心框架和库。它们在企业级应用开发中扮演着重要的角色,尤其在构建分布式、数据库驱动...

    spring_hibernate_anotations

    标题“spring_hibernate_anotations”表明我们正在探讨Spring框架与Hibernate注解的整合应用。在现代Java开发中,Spring和Hibernate是两个非常关键的工具,Spring作为一个全面的轻量级应用框架,提供了依赖注入、...

    Struts_Spring_Hibernate集成

    配置文件方面,我们需要结合Struts的struts-config.xml、Spring的applicationContext.xml以及Hibernate的hibernate.cfg.xml进行整合,确保各框架之间的协调工作。 在提供的源码中,你可能会看到以下关键部分: 1. *...

    spring_hibernate整合案例

    接下来,我们需要在Spring中配置Hibernate的SessionFactory,这通常涉及到Hibernate的配置文件(如hibernate.cfg.xml),其中包含了数据库连接信息、实体类映射等。实体类是与数据库表对应的Java类,通过注解或XML...

    Struts_Spring_Hibernate(1)实例

    1. 配置文件:struts.xml、spring.xml、hibernate.cfg.xml等,用于定义各个框架的运行规则。 2. Action类:处理HTTP请求,调用Service层方法。 3. Service层:实现业务逻辑,依赖于DAO层,可能由Spring管理。 4. DAO...

    客户关系管理系统_Struts_Spring_Hibernate_Ajax

    《构建基于Struts、Spring和Hibernate的Ajax客户关系管理系统》 在现代商业环境中,客户关系管理(CRM)系统是企业不可或缺的一部分,它帮助企业更有效地管理客户信息,提高服务质量,增强客户满意度,从而提升企业...

    Spring_Hibernate_Struts_example.rar_spring struts

    Spring、Hibernate和Struts是Java开发中非常经典的三大框架,它们各自在应用程序开发中承担着不同的职责。Spring作为全面的轻量级应用框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能,使得组件之间的耦合度...

    springmvc_spring_hibernate_maven整合

    2. **配置pom.xml**:在`pom.xml`中添加Spring MVC、Spring、Hibernate和其它相关依赖的坐标。 3. **配置Spring**:编写`applicationContext.xml`或`dispatcher-servlet.xml`,定义bean、数据源、事务管理器以及...

    Struts_Spring_Hibernate_CRUD操作案例_-分页查询

    Struts、Spring和Hibernate是Java开发中常用的三大框架,它们分别负责不同的职责:Struts作为MVC(模型-视图-控制器)框架处理请求和响应,Spring提供了依赖注入和事务管理,而Hibernate则是对象关系映射(ORM)框架...

Global site tag (gtag.js) - Google Analytics