最近接触了maven,想自己做个小系统练练手,目前只做了一小部分,算是总结下吧。

账务管理系统。

1.先写需求(有些还没想到,边写边改吧。)

1.商品 添加商品,查询商品对应的超市价格明细
2.超市 添加超市,查询超市对应的商品价格明细,并查同时看超市的地址
3.明细 查询一段时间内购买的商品和支出明细,查询一段时间买东西的超市明细
4.购物车 从购物车中移除,添加入购物车,查看购物车中的商品,更改购物车中商品的数量,购物车确认动作确认支付
5.订单 查询一段时间内某一超市的订单明细,查询某一段时间内的某商品的订单明细,查询某一段时间某一超市某一商品的订单明细
6.地址 增加地址,删除地址,更改地址,并查询地址对应的超市
7.用户 添加用户,删除用户,查询用户,更改用户

2.搭架构

总体分为3层,dao+model层,service层,view(action,jsp)层

2.1 maven搭建

 

下载maven(3.0.4): http://maven.apache.org/download.html

设置maven环境:M2_HOME=安装目录;在path变量中增加%M2_HOME%\bin

设置本地仓库地址:$M2_HOME/conf/setting.xml中更改为:<localRepository>D:\\reign\\mvn\\repo</localRepository>

安装M2Eclipse插件:Help -> InstallNewSoftware -> Work with -> Add

http://m2eclipse.sonatype.org/sites/m2e

统一本地Maven程序:Window->Perferences->Maven->Installations->Add
指定到M2_HOME目录

创建maven项目等详见:http://wenku.baidu.com/view/3fae1ce9102de2bd960588a5.html(作者:张继豪)超级給力

2.2 hibernate+spring搭建,用spring管理hibernate

在建立了maven的web项目后,POM文件如下(额,,年代太过久远找不到了,先把所有的构件贴出来吧):

 

 

View Code
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <packaging>war</packaging>
  <name>test</name>
  <groupId>com.medclub</groupId>
  <artifactId>test</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <build>
    <plugins>   
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat6-maven-plugin</artifactId>
    <version>2.1</version>
         <configuration>
              <port>8088</port>
          </configuration>
</plugin>
    </plugins>
  </build>

  <dependencies>
      <dependency>
          <groupId>org.apache.struts</groupId>
          <artifactId>struts2-core</artifactId>
          <version>2.3.8</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.apache.struts</groupId>
          <artifactId>struts2-spring-plugin</artifactId>
          <version>2.3.8</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>5.1.23</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-orm</artifactId>
          <version>3.2.1.RELEASE</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>3.2.1.RELEASE</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>commons-codec</groupId>
          <artifactId>commons-codec</artifactId>
          <version>20041127.091804</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>axis</groupId>
          <artifactId>axis</artifactId>
          <version>1.4</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>c3p0</groupId>
          <artifactId>c3p0</artifactId>
          <version>0.9.1.2</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>2.0-beta4</version>
          <type>pom</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.opensymphony.quartz</groupId>
          <artifactId>quartz</artifactId>
          <version>1.6.1</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>xerces</groupId>
          <artifactId>xerces</artifactId>
          <version>2.4.0</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.antlr</groupId>
          <artifactId>antlr4</artifactId>
          <version>4.0</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>com.kenai.nbpwr</groupId>
          <artifactId>org-apache-commons-pool</artifactId>
          <version>1.4-201002241055</version>
          <type>nbm</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>commons-dbcp</groupId>
          <artifactId>commons-dbcp</artifactId>
          <version>20030825.184428</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>poi</groupId>
          <artifactId>poi-2.5.1-final</artifactId>
          <version>20040804</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>javax.mail</groupId>
          <artifactId>mail</artifactId>
          <version>1.4.6</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.8.1</version>
      <scope>test</scope>
    </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aop</artifactId>
          <version>3.2.1.RELEASE</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency> 
            <dependency>
          <groupId>org.hibernate</groupId>
          <artifactId>hibernate-core</artifactId>
          <version>4.2.0.CR1</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-tx</artifactId>
          <version>3.2.1.RELEASE</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.hibernate</groupId>
          <artifactId>hibernate-cglib-repack</artifactId>
          <version>2.1_3</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>com.kenai.nbpwr</groupId>
          <artifactId>net-sf-cglib</artifactId>
          <version>2.1.3-201003011305</version>
          <type>nbm</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>3.2.1.RELEASE</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>cglib</groupId>
          <artifactId>cglib-nodep</artifactId>
          <version>2.2.2</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-jdbc</artifactId>
          <version>3.2.1.RELEASE</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context-support</artifactId>
          <version>3.2.1.RELEASE</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aspects</artifactId>
          <version>3.2.1.RELEASE</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
       <dependency>
          <groupId>javax.transaction</groupId>
          <artifactId>jta</artifactId>
          <version>1.1</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc-struts</artifactId>
          <version>2.5.6.SEC03</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
            <dependency>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
          <version>1.1.1</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging-adapters</artifactId>
          <version>1.1</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging-api</artifactId>
          <version>1.1</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
        <dependency>
          <groupId>commons-collections</groupId>
          <artifactId>commons-collections</artifactId>
          <version>20040616</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>commons-collections</groupId>
          <artifactId>commons-collections-testframework</artifactId>
          <version>20040102.233541</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
            <dependency>
          <groupId>backport-util-concurrent</groupId>
          <artifactId>backport-util-concurrent</artifactId>
          <version>3.1</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>net.sf.ehcache</groupId>
          <artifactId>ehcache</artifactId>
          <version>2.6.5</version>
          <type>pom</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>net.sf.ehcache</groupId>
          <artifactId>ehcache-core</artifactId>
          <version>2.6.5</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
          <version>3.2.1.RELEASE</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</artifactId>
          <version>3.2.1.RELEASE</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>commons-el</groupId>
          <artifactId>commons-el</artifactId>
          <version>1.0</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
             <dependency>
          <groupId>ant</groupId>
          <artifactId>ant</artifactId>
          <version>1.7.0</version>
          <scope>compile</scope>
      </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-web</artifactId>
          <version>3.2.2.RELEASE</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging-adapters</artifactId>
          <version>1.1</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
      <dependency>
          <groupId>org.apache.struts</groupId>
          <artifactId>struts2-json-plugin</artifactId>
          <version>2.3.12</version>
          <type>jar</type>
          <scope>compile</scope>
      </dependency>
  </dependencies>

</project>

 

配置hibernate,要写test.hbm.xml和daoContext.xml(先测试,写在maven的test的class下面)有点不明白的是maven提供的TestCase接口的用法,希望知道的大神补充下吧,我在test中是直接用main方法的(只是测试,业务的话后面再说)。

test.hbm.xml

View Code
<?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.medclub.pojo">
<class name="TestPojo" table="test_table">
<id name="id" column="testid">
<generator class="identity"></generator>
</id>
<property name="name"></property>
<property name="age"></property>
</class>
<class name="UserPojo" table="user_table">
<id name="id" column="id">
<generator class="identity"></generator>
</id>
<property name="name"></property>
<property name="tel_number"></property>
<property name="address"></property>
<set name="departments" inverse="true" table="user_department_table">
<key column="user_id"/>
<many-to-many class="DepartmentPojo" column="department_id"/>
</set>
</class>
<class name="DepartmentPojo" table="department_table">
<id name="id" column="id">
<generator class="identity"></generator>
</id>
<property name="name"></property>
<property name="parent_id"></property>
<property name="has_child"></property>
<set name="users" table="user_department_table">
<key column="department_id"/>
<many-to-many class="UserPojo" column="user_id"/>
</set>
</class>
</hibernate-mapping>

 

daoContext.xml

View Code
<?xml version="1.0" encoding="UTF-8"?>
<!-- Spring 配置文件的DTD 定义-->
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<!-- Spring 配置文件的根元素是beans-->
<beans>
<!--定义数据源,该bean 的ID 为dataSource-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 指定数据库驱动-->
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value>
</property>
<!-- 指定连接数据库的URL-->
<property name="url"><value>jdbc:mysql://127.0.0.1:3306/test</value>
</property>
<!-- root 为数据库的用户名-->
<property name="username"><value>root</value></property>
<!-- pass 为数据库密码-->
<property name="password"><value>123456</value></property>
</bean>
<!-- 定义Hibernate 的SessionFactory-->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<!-- 依赖注入数据源,注入正是上文定义的dataSource-->
<property name="dataSource"><ref local="dataSource"/></property>
<!-- mapp工ngResouces属性用来列出全部映射文件-->
<property name="mappingResources">
<list>
<!-- 以下用来列出所有的PO 映射文件-->
<!--  <value>lee/MyTest.hbm.xml</value>-->
<value>test.hbm.xml</value>
</list>
</property>
<!-- 定义Hibernate 的SessionFactory的属性-->
<property name="hibernateProperties">
<props>
<!-- 指定Hibernate 的连接方法-->
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<!-- 不同数据库连接,启动时选择create , update , create-drop-->
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory"><ref local="sessionFactory"/></property>
</bean>
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager"><ref local="transactionManager"/></property>
<property name="transactionAttributes">
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>personDao</value>
<value>userDao</value>
<value>departmentDao</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>
<bean id="personDao" class="com.medclub.tests.daoimpl.TestHibernateDao">
<constructor-arg index="0">
<ref bean="sessionFactory"/>
</constructor-arg>
</bean>
<bean id="userDao" class="com.medclub.tests.daoimpl.UserHibernateDao">
<constructor-arg index="0">
<ref bean="sessionFactory"/>
</constructor-arg>
</bean>
<bean id="departmentDao" class="com.medclub.tests.daoimpl.DepartmentHibernateDao">
<constructor-arg index="0">
<ref bean="sessionFactory"/>
</constructor-arg>
</bean>
</beans>

关键代码(仿照李刚j2ee那本书,也不知道对不对,但是编译没问题,往大神们不吝赐教啊):

View Code
 1 <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator" lazy-init="default" autowire="default" dependency-check="default">
 2 - <property name="beanNames">
 3 - <list>
 4   <value>personDao</value> 
 5   <value>userDao</value> 
 6   <value>departmentDao</value> 
 7   </list>
 8   </property>
 9 - <property name="interceptorNames">
10 - <list>
11   <value>transactionInterceptor</value> 
12   </list>
13   </property>
14   </bean>
15 - <bean id="personDao" class="com.medclub.tests.daoimpl.TestHibernateDao" lazy-init="default" autowire="default" dependency-check="default">
16 - <constructor-arg index="0">
17   <ref bean="sessionFactory" /> 
18   </constructor-arg>
19   </bean>

 

Pojo例子:com.medclub.pojo.DepartmentPojo

View Code
package com.medclub.pojo;

import static javax.persistence.GenerationType.IDENTITY;

import java.io.Serializable;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;


import org.hibernate.annotations.Cascade;
import org.springframework.context.annotation.Primary;
//@Entity
//@Table(name = "department_table", catalog = "test")
public class DepartmentPojo implements Serializable{
    
private Integer id;
private String name;
private Integer parent_id;
private Boolean has_child;
private Set users=new HashSet();
//@Id
//@GeneratedValue(strategy = IDENTITY)
//@Column(name = "id", unique = true, nullable = false)
public Integer getId() {
    return id;
}
public void setId(Integer id) {
    this.id = id;
}
//@Column(name = "name", length = 2000)
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
//@Column(name = "parent_id")
public Integer getParent_id() {
    return parent_id;
}
public void setParent_id(Integer parent_id) {
    this.parent_id = parent_id;
}
//@Column(name = "has_child")
public Boolean getHas_child() {
    return has_child;
}
public void setHas_child(Boolean has_child) {
    this.has_child = has_child;
}
//@ManyToMany(cascade=CascadeType.ALL)
//@JoinTable(name="department_user",joinColumns={@JoinColumn(name="user_id")},inverseJoinColumns={@JoinColumn(name="department_id")})
public Set<UserPojo> getUsers() {
    return users;
}
public void setUsers(Set<UserPojo> users) {
    this.users = users;
}
@Override
public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + ((has_child == null) ? 0 : has_child.hashCode());
    result = prime * result + ((name == null) ? 0 : name.hashCode());
    result = prime * result + ((parent_id == null) ? 0 : parent_id.hashCode());
    return result;
}
@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (getClass() != obj.getClass())
        return false;
    DepartmentPojo other = (DepartmentPojo) obj;
    if (has_child == null) {
        if (other.has_child != null)
            return false;
    } else if (!has_child.equals(other.has_child))
        return false;
    if (name == null) {
        if (other.name != null)
            return false;
    } else if (!name.equals(other.name))
        return false;
    if (parent_id == null) {
        if (other.parent_id != null)
            return false;
    } else if (!parent_id.equals(other.parent_id))
        return false;
    return true;
}
@Override
public String toString() {
    return "DepartmentPojo [id=" + id + ", name=" + name + ", parent_id="
            + parent_id + ", has_child=" + has_child + "]";
}

}

dao例子:

 

View Code
  1 package com.medclub.dao;
  2 
  3 import java.io.Serializable;
  4 import java.util.List;
  5 
  6 import org.hibernate.Session;
  7 import org.hibernate.SessionFactory;
  8 import org.hibernate.engine.spi.SessionFactoryImplementor;
  9 import org.springframework.orm.ObjectRetrievalFailureException;
 10 import org.springframework.orm.hibernate3.HibernateTemplate;
 11 import org.springframework.orm.hibernate4.SpringSessionContext;
 12 
 13 
 14 public class BaseDao<T extends Serializable,PK extends Serializable> extends SpringSessionContext implements DAO{
 15     public BaseDao(SessionFactoryImplementor sessionFactory) {
 16         super(sessionFactory);
 17         // TODO Auto-generated constructor stub
 18     }
 19     
 20     private HibernateTemplate hiberatetmplate;
 21     public Object getObject(Class clazz, Serializable id) {
 22         // TODO Auto-generated method stub
 23     Object o= getHibernateTemplate().get(clazz, id);
 24     if(o==null){
 25         throw new ObjectRetrievalFailureException(clazz,id);
 26     }
 27     return o;
 28     }
 29 
 30 
 31     protected Session getHibernateTemplate() {
 32         // TODO Auto-generated method stub
 33         return currentSession();
 34     }
 35 
 36 
 37     public List getObjectList(Class clazz) {
 38         // TODO Auto-generated method stub
 39 
 40         return getHibernateTemplate().createQuery("from "+clazz.getName()).list();
 41     }
 42 
 43     public void saveObject(Object obj) {
 44         // TODO Auto-generated method stub
 45         getHibernateTemplate().save(obj);
 46     }
 47 
 48     public void deleteObject(Class clazz, Serializable id) {
 49         // TODO Auto-generated method stub
 50         getHibernateTemplate().delete(getObject(clazz, id));
 51     }
 52 
 53 }
 54 package com.medclub.dao;
 55 
 56 import java.io.Serializable;
 57 import java.util.List;
 58 
 59 public interface DAO{
 60 public Object getObject(Class clazz,Serializable id);
 61 public List getObjectList(Class clazz);
 62 public void saveObject(Object obj);
 63 public void deleteObject(Class clazz,Serializable id);
 64 
 65 }
 66 package com.medclub.tests.dao;
 67 
 68 import java.util.List;
 69 import java.util.Set;
 70 
 71 import com.medclub.dao.DAO;
 72 import com.medclub.pojo.DepartmentPojo;
 73 import com.medclub.pojo.UserPojo;
 74 
 75 public interface DepartmentDao extends DAO{
 76     public void save(DepartmentPojo pojo);
 77     public List<DepartmentPojo> getAll();
 78     public List<DepartmentPojo> getDepartmentByExample(DepartmentPojo pojo);
 79 }
 80 package com.medclub.tests.daoimpl;
 81 
 82 import org.hibernate.engine.spi.SessionFactoryImplementor;
 83 
 84 import com.medclub.dao.BaseDao;
 85 import com.medclub.pojo.DepartmentPojo;
 86 import com.medclub.tests.dao.DepartmentDao;
 87 
 88 public class DepartmentHibernateDao extends BaseDao<DepartmentPojo,Integer> implements DepartmentDao{
 89 
 90     public DepartmentHibernateDao(SessionFactoryImplementor sessionFactory) {
 91         super(sessionFactory);
 92         // TODO Auto-generated constructor stub
 93     }
 94 
 95     public void save(DepartmentPojo pojo) {
 96         // TODO Auto-generated method stub
 97         saveObject(pojo);
 98     }
 99 
100 }

 

 test例子:

View Code
 1 package com.medclub.test;
 2 
 3 import java.util.HashSet;
 4 import java.util.List;
 5 import java.util.Set;
 6 
 7 import org.springframework.context.ApplicationContext;
 8 import org.springframework.context.support.ClassPathXmlApplicationContext;
 9 
10 import com.medclub.pojo.DepartmentPojo;
11 import com.medclub.pojo.UserPojo;
12 import com.medclub.tests.dao.DepartmentDao;
13 import com.medclub.tests.dao.UserDao;
14 
15 public class DepartmentTest {
16 
17     /**
18      * @param args
19      */
20     public static void main(String[] args) {
21         // TODO Auto-generated method stub
22         ApplicationContext act=new ClassPathXmlApplicationContext("daoContext.xml");
23         UserDao daouser=(UserDao) act.getBean("userDao");
24         List users=daouser.getUsers();
25         Set<UserPojo> userset=new HashSet<UserPojo>();
26         for(Object user:users){
27             userset.add((UserPojo) user);
28         }
29         DepartmentPojo depart=new DepartmentPojo();
30         depart.setHas_child(true);
31         depart.setParent_id(0);
32         depart.setId(0);
33         depart.setName("xx公司");
34         depart.setUsers(userset);
35         DepartmentDao depdao=(DepartmentDao) act.getBean("departmentDao");
36         depdao.save(depart);
37     }
38 
39 }

好了,运行测试,可以添加查询或者直接去数据库看,hibernate+spring架构完成,今天太晚啦,后面再看struts+spring的架构啦。

posted on 2013-04-11 00:49  来自夏尔  阅读(1027)  评论(0编辑  收藏  举报