雇员管理系统ssh之准备1

1、准备
引入spring包
(1)编写applicationContext.xml
(2)测试spring是否成功
引入Hibernate包
(3)applicationContext.xml配置数据源、配置sessionFactory
(4)配置pojo和pojo.hbm.xml

这里写图片描述
1、准备
引入spring2.5.6包

dist\spring.jar
dist\modules\spring-webmvc-struts.jar
lib\jakarta-commons\commons-logging.jar、commons-dbcp.jar、commons-pool.jar
lib\aspectj\aspectjweaver.jar、aspectjrt.jar
lib\cglib\cglib-nodep-2.1_3.jar
lib\j2ee\common-annotations.jar
lib\log4j\log4j-1.2.15.jar

(1)编写applicationContext.xml
(2)测试spring是否成功
这里写图片描述

<?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.0.xsd
       http://www.springframework.org/schema/tx 
       http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-3.0.xsd
       http://www.springframework.org/schema/aop
       http://www.springframew     ork.org/schema/aop/spring-aop-3.0.xsd">
       <!-- 启用注解注入 -->
        <!-- <context:annotation-config/> -->
       <!-- 启用自动扫描 -->
    <!--  <context:component-scan base-package="com.journey.testDemo"/> -->

    <bean id="peo" class="com.journey.testDemo.People">
        <property name="name" value="春天"></property>
    </bean>
</beans>

写一个测试包
com.journey.testDemo

public class People {
private String name;
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
}

测试是否打印配置文件里的 春天

public class TestDemo {
    private static ApplicationContext ac;
    static {
        ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    }
        @Test
        public void test1(){
    People  p=ac.getBeans("peo",People.class);
    System.out.println(p.getName());
    }
}

引入Hibernate包

hibernate3.jar
lib\required\*.jar
lib\optional\ehcache-1.2.3.jar
hibernate 注解安装包下的
lib\test\slf4j-log4j12.jar

(3)applicationContext.xml配置数据源、配置sessionFactory

<?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.0.xsd
       http://www.springframework.org/schema/tx 
       http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-3.0.xsd
       http://www.springframework.org/schema/aop
       http://www.springframew     ork.org/schema/aop/spring-aop-3.0.xsd">
       <!-- 启用注解注入 -->
        <!-- <context:annotation-config/> -->
       <!-- 启用自动扫描 -->
    <!--  <context:component-scan base-package="com.journey.testDemo"/> -->
    <bean id="peo" class="com.journey.testDemo.People">
        <property name="name" value="春天"></property>
    </bean>

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>
    <property name="username" value="scott"/>
    <property name="password" value="tiger"/>
<!-- 连接池启动时的初始值 -->
    <property name="initialSize" value="3"/>
<!-- 连接池的最大值 -->
     <property name="maxActive" value="30"/>
 <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
    <property name="maxIdle" value="2"/>
    <!--  最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
    <property name="minIdle" value="1"/>
</bean>

<!-- ******************************************分割线************************************************** -->
<!-- 配置sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 设置数据源 -->
     <property name="dataSource" ref="dataSource"/>
     <!-- 接管Hibernate对象映射文件 -->
     <property name="mappingResources">
        <list>
          <value>com/journey/pojo/Employee.hbm.xml</value>
        </list>
     </property>
     <property name="hibernateProperties">
        <value>
        hibernate.dialect=org.hibernate.dialect.OracleDialect
        hibernate.hbm2ddl.auto=update
        hibernate.show_sql=false
        hibernate.format_sql=false        
        </value>
    </property>
</bean>
</beans>

(4)配置pojo和pojo.hbm.xml

工具包

//获取ApplicationContext
package com.journey.testDemo;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class ApplicationContextUtil {
    private static ApplicationContext ac;

    private ApplicationContextUtil() {

    }

    static {
        ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    }
    public static ApplicationContext getApplicationContext(){
        return ac;
    }
}
//建立pojo 包
package com.journey.pojo;

import java.util.Date;

public class Employee {
    private Integer id;
    private String name;
    private String email;
    private Date hiredate;
    private Float salary;


    public Employee() {
    }

    public Employee(String name, String email, Date hiredate,
            Float salary) {
        this.name = name;
        this.email = email;
        this.hiredate = hiredate;
        this.salary = salary;
    }

    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;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Date getHiredate() {
        return hiredate;
    }

    public void setHiredate(Date hiredate) {
        this.hiredate = hiredate;
    }

    public Float getSalary() {
        return salary;
    }

    public void setSalary(Float salary) {
        this.salary = salary;
    }

}

Employee.hbm.xml配置

<?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.journey.pojo">
    <class name="Employee" table="employee0516">
    <!-- id用与指定主键属性 -->
        <id name="id" column="id" type="integer">
        <!-- generator用来指定主键生成策略hilo、uuid、increment、sequence、native -->
            <generator class="sequence">
                <param name="sequence">emp_seq</param>
            </generator>
        </id>
        <property name="name" type="string">
            <column name="name" not-null="false" />
        </property> 
        <property name="email"  type="java.lang.String" >
            <column name="email" not-null="false" length="64"></column>
        </property>     
        <property name="hiredate" type="java.util.Date">
            <column name="hiredate" not-null="false"></column>
        </property>     
        <property name="salary" not-null="false" type="java.lang.Float"/>


    </class>

</hibernate-mapping>

测试Hibernate和Spring整合

package com.journey.testDemo;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Test;
import org.springframework.context.ApplicationContext;

import com.journey.pojo.Employee;

public class TestDemo {
        @Test
        public void test1(){
            ApplicationContext ac=ApplicationContextUtil.getApplicationContext();
            SessionFactory s=(SessionFactory) ac.getBean("sessionFactory");
            Session session=s.openSession();
            Employee e=new Employee("顺平", "2112@qq.com", new java.util.Date(), 500.0f);
            Transaction tr=session.beginTransaction();
            try {
                session.save(e);
                tr.commit();
            } catch (Exception e2) {
                if(tr!=null){       
                    tr.rollback();
                }
            e2.printStackTrace();
            }finally{
                if(session!=null&&session.isOpen()){
                    session.close();
                }
            }   
        }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值