第六章+SSH整合开发实例

  • 格式:doc
  • 大小:323.00 KB
  • 文档页数:22

雇员薪资管理系统具体的步骤:1.创建web项目2.引入spring开发包3.编写applicationContext.xml文件(或者beans.xml),把该文件放在src目录下。

4.测试一下spring 是否成功。

public class TestService {public void sayHello(){System.out.println("Hello");}}public class Test {public static void main(String[] args) {ApplicationContext ac=newClassPathXmlApplicationContext("applicationContext.xml");TestService testService=(TestService)ac.getBean("testService");testService.sayHello();}}<!-- 配置测试对象testService --><bean id="testService" class="com.test.TestService"></bean>5.加入hibernate开发包。

6.因为我们是ssh,所以我们hibernate的核心文件就被spring接管了。

hibernate.cfg.xml 文件对象映射文件,SessionFactory在spring的文件中配置即可。

7.在 applicationContext.xml中配置数据源<!-- 配置数据源 --><bean id="dataSource" class="mons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/emp1"/><property name="username" value="root"/><property name="password" value="123"/><!-- 连接池启动时的初始值 --><property name="initialSize" value="30"/><!-- 连接池的最大值 --><property name="maxActive" value="500"/><!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 --><property name="maxIdle" value="2"/><!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 --><property name="minIdle" value="1"/></bean>8.配置SessionFactory对象<bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"/><property name="mappingResources"><list><value>com/domain/Employee.hbm.xml</value></list></property><property name="hibernateProperties"><value>hibernate.dialect=org.hibernate.dialect.OracleDialecthibernate.hbm2ddl.auto=updatehibernate.show_sql=false</value></property></bean>9.编写domain对象和映射文件Employee.hbm.xml ->测试srping和hibernate是否可以结合使用->okpublic class Employee {private Integer id;private String name;private String email;private String pwd;private Integer grade;private java.util.Date hiredate;private Float salary;public Employee(String name, String email, String pwd, Integer grade, Date hiredate, Float salary) { = name;this.email = email;this.pwd = pwd;this.grade = grade;this.hiredate = hiredate;this.salary = salary;}public Employee() { }}<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD3.0//EN""/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.domain"><class name="Employee" table="employee"><!-- 主键策略 --><id name="id" type="ng.Integer"><generator class="increment"/></id><property name="name" type="ng.String"><column name="name" length="64"/></property><property name="email" type="ng.String"><column name="email" length="64"/></property><property name="hiredate" type="java.util.Date"><column name="hiredate" /></property><property name="salary" type="ng.Float"><column name="salary" /></property><property name="pwd" type="ng.String"><column name="pwd" length="32"/></property><property name="grade" type="ng.Integer"><column name="grade" length="3"/></property></class></hibernate-mapping>public class Test {public static void main(String[] args) {ApplicationContext ac=newClassPathXmlApplicationContext("applicationContext.xml");// TestService testService=(TestService)ac.getBean("testService"); // testService.sayHello();Employee employee=new Employee("ddc","abc@","111",1,new java.util.Date(),234.56f);SessionFactorysessionFactory=(SessionFactory)ac.getBean("sessionFactory");Session s=sessionFactory.openSession();Transaction ts=s.beginTransaction();s.save(employee);mit();}}启动mysql服务,连接数据库,观察记录是否插入成功。