spring 整合 hibernate:

  hibernate :对数据库交互

  spring: ioc   aop

整合点:

    1.sessionFactory对象不再由hibernate生成,交由spring生成,也就是说数据库连接信息   全局配置   映射文件的配置  由spring完成

    2.ioc 管理dao对象  baseDao对象

    3.aop 事务的控制

步骤:

    1.普通工程  copy jar 包

    2.配置applicationContext-resource.xml

        配置 sessionFactory  配置 dataSourse

        数据库连接配置   全局配置   映射文件的配置             属性名来自于底层属性,固定写法

    3.写po  及映射文件   以前怎么写的现在还是怎么写

    4.写dao      dao内必须有sessionFactory属性

    5.配置applicationContext-dao.xml

    6.测试即可

po:

public class Students {
  private Integer stuId;
  private String stuName;
  private String email;
  private Integer age;
  private Integer sex;
  private Integer cid;
  public Integer getStuId() {
    return stuId;
  }
  public void setStuId(Integer stuId) {
    this.stuId = stuId;
  }
  public String getStuName() {
    return stuName;
  }
  public void setStuName(String stuName) {
    this.stuName = stuName;
  }
  public String getEmail() {
    return email;
  }
  public void setEmail(String email) {
    this.email = email;
  }
  public Integer getAge() {
    return age;
  }
  public void setAge(Integer age) {
    this.age = age;
  }
  public Integer getSex() {
    return sex;
  }
  public void setSex(Integer sex) {
    this.sex = sex;
  }
  public Integer getCid() {
    return cid;
  }
  public void setCid(Integer cid) {
    this.cid = cid;
  }
}

Students.hbm.xml:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping
  package="com.huawei.sh.po">
  <class name="Students" table="test_students" >
    <id name="stuId" column="stu_id" >
      <generator class="sequence" >
        <param name="sequence">seq_test_students</param>
      </generator>
    </id>
    <property name="stuName" column="stu_name" />
    <property name="email" />
    <property name="age" />
    <property name="sex" />
    <property name="cid" />
  </class>
</hibernate-mapping>

dao:

public class StudentsDao {
  private SessionFactory sessionFactory;
  public void addStudents(Students stu){
    Session session = sessionFactory.openSession();
    Transaction tx =session.beginTransaction();
    session.save(stu);
    tx.commit();
    session.close();
  }
  public SessionFactory getSessionFactory() {
    return sessionFactory;
  }
  public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
  }
  public static void main(String[] args) {
    Students stu = new Students();
    stu.setStuName("张三");
    stu.setEmail("hui@huawei.com");
    String[] res = new String[]{"applicationContext-dao.xml","applicationContext-resource.xml"};
    ApplicationContext context = new ClassPathXmlApplicationContext(res);
    StudentsDao stuDao =(StudentsDao) context.getBean("studentsDao");
    stuDao.addStudents(stu);
  }
}

applicationContext-dao.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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd" >
  <bean id="studentsDao" class="com.huawei.sh.dao.StudentsDao">
    <property name="sessionFactory" ref="sessionFactory"/>
  </bean>
</beans>

applicationContext-resource.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:aop="http://www.springframework.org/schema/aop"
  xmlns:tx="http://www.springframework.org/schema/tx"
  xmlns:context="http://www.springframework.org/schema/context"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
  http://www.springframework.org/schema/tx
  http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
  http://www.springframework.org/schema/aop
  http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context-3.2.xsd ">
  <!--<context:component-scan base-package="com.chdsxt" />
  <aop:aspectj-autoproxy /> 支持AOP的注解方式 使用注解方案 必写这两项 -->
  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
    <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
    <property name="username" value="scott" />
    <property name="password" value="tiger" />
  </bean>
  <!-- 数据库核心配置 -->
  <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <!-- 数据库连接配置 -->
    <property name="dataSource" ref="dataSource"/>
    <!-- 全局性配置 -->
    <property name="hibernateProperties">
      <props>
        <prop key="hibernate.dialect" >org.hibernate.dialect.Oracle10gDialect</prop>
        <prop key="hibernate.show_sql" >true</prop>
        <prop key="hibernate.format_sql" >true</prop>
        <prop key="hibernate.hbm2ddl.auto">update</prop>
      </props>
    </property>
    <!-- 映射文件对应配置 -->
    <property name="mappingResources">
      <list>
        <value>com/huawei/sh/po/Students.hbm.xml</value>
      </list>
    </property>
  </bean>
</beans>

spring 整合 hibernate xml配置的更多相关文章

  1. spring 整合 struts2 xml配置

    整合之前要搞清楚struts2是什么; struts2:表现层框架  增删改查  作用域  页面跳转   异常处理  ajax 上传下载  excel   调用service spring :IOC/ ...

  2. Spring第十一篇——–Spring整合Hibernate之配置数据源

    DataSource(数据源)提供了一个标准化的取得数据库连接的方式,通过getConnection()方法即可取得数据库的连接,Spring也提供了数据库连接池(DataBase connectio ...

  3. Spring整合Hibernate的XML文件配置,以及web.xml文件配置

    利用Spring整合Hibernate时的XML文件配置 applicationContext.xml <?xml version="1.0" encoding=" ...

  4. Spring整合Hibernate的时候使用hibernate.cfg.xml

    Spring整合Hibernate其实也就是把Hibernate的SessionFactory对象封装成:org.springframework.orm.hibernate3.LocalSession ...

  5. 二 SSH整合:Spring整合Hibernate,无障碍整合&无核心配置整合,Hibernate模版常用方法,

    重建SSH项目 java项目可以直接复制,但是web项目除了改名字还要该配置,如下: 方式一:无障碍整合:带Hibernate配置文件 <?xml version="1.0" ...

  6. 【Java EE 学习 53】【Spring学习第五天】【Spring整合Hibernate】【Spring整合Hibernate、Struts2】【问题:整合hibernate之后事务不能回滚】

    一.Spring整合Hibernate 1.如果一个DAO 类继承了HibernateDaoSupport,只需要在spring配置文件中注入SessionFactory就可以了:如果一个DAO类没有 ...

  7. spring整合hibernate的详细步骤

    Spring整合hibernate需要整合些什么? 由IOC容器来生成hibernate的sessionFactory. 让hibernate使用spring的声明式事务 整合步骤: 加入hibern ...

  8. Spring 整合 Hibernate

    Spring 整合 Hibernate •Spring 支持大多数流行的 ORM 框架, 包括 Hibernate JDO, TopLink, Ibatis 和 JPA. •Spring 对这些 OR ...

  9. 使用Spring整合Hibernate,并实现对数据表的增、删、改、查的功能

    1.1 问题 使用Spring整合Hibernate,并实现资费表的增.删.改.查. 1.2 方案 Spring整合Hibernate的步骤: 1.3 步骤 实现此案例需要按照如下步骤进行. 采用的环 ...

随机推荐

  1. vue-router 结合源码分析原理

    路由响应过程: 浏览器发出请求 服务器监听到num端口(或443)有请求过来,并解析url路径 根据服务器的路由配置,返回相应信息(可以是 html 字串,也可以是 json 数据,图片等) 浏览器根 ...

  2. linux 信号处理 四

    一.信号生命周期 从信号发送到信号处理函数的执行完毕 对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画:信号诞生:信号在进程 ...

  3. VS编译时使用/去除NuGet管理库

    原文链接:VS编译时自动下载NuGet管理的库 之前一直使用NuGet来管理一些第三方的库,但是每次check in代码时候为了保证编译通过,都需要把对应的packages check in. 比较耗 ...

  4. web服务器检测

    # coding=utf-8 import sys import socket import re def check_webserver(address, port, resource): addr ...

  5. selenium操作隐藏的元素 (下拉框类型)

    有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: Python 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操 ...

  6. LINK : fatal error LNK1158: 无法运行“rc.exe”解决办法 and Visual Studio 2017 下载安装

    LINK : fatal error LNK1158: 无法运行“rc.exe” 首先下载软件包:https://pan.baidu.com/s/1L1N1sikXUaZZd-9nmZnwjA 第一个 ...

  7. MongoDB整库备份+整库导入

    备份前检查: [root@Load29 tmp]# mongo localhost: MongoDB shell version: connecting to: localhost:/test Ser ...

  8. 1111 Online Map (30 分)

    1111 Online Map (30 分) Input our current position and a destination, an online map can recommend sev ...

  9. 样本稳定指数PSI

    信用评定等级划分之后需要对评级的划分做出评价,分析这样的评级划分结果是否具有实用价值,即分析样本分布的稳定程度.样本分布稳定,则信用评定等级划分结果的实用价值就高.采用样本稳定指数( PSI )检验样 ...

  10. 大数据量表中,增加一个NOT NULL的新列

      这次,发布清洗列表功能,需要对数据库进行升级.MailingList表加个IfCleaning字段,所有的t_User*表加个IfCleaned字段.   脚本如下 对所有的t_User表执行 a ...