1.倒入所需jar包
(因网站对附件大小的限制,现将所需jar包分两部分上传。位置分别为http://zhizizhishou0104.iteye.com/blog/1993956 和http://zhizizhishou0104.iteye.com/blog/1993988 )
2.编写entity,这里以一对多关系为例
ClassRoom.java(one端)
import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table; @Entity @Table(name="CLASS_ROOM") public class ClassRoom { @Id private int id; private String classroom_number; private String classroom_name; @OneToMany(cascade=CascadeType.ALL,mappedBy="classRoom") private List<Student> students; //这里省略setter和getter }
Student.java(many端)
import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; @Entity @Table(name="STUDENT") public class Student { @Id private int id; private String stu_number; private String stu_name; @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(updatable=false,nullable=false) private ClassRoom classRoom; //这里省略setter和getter }
3.dao层
import javax.annotation.Resource; import org.hibernate.SessionFactory; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import org.springframework.stereotype.Repository; import com.aia.domain.ClassRoom; @Repository public class ClassRoomDao extends HibernateDaoSupport{ @Resource public void setHibenrateSessionFactory(SessionFactory sessionFactory) { super.setSessionFactory(sessionFactory); } public ClassRoom saveClassRoom(ClassRoom classRoom) { getHibernateTemplate().persist(classRoom); return classRoom; } }
4.service层(这里跳过接口,直接上传实现类)
import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.aia.dao.ClassRoomDao; import com.aia.domain.ClassRoom; import com.aia.service.ClassRoomService; @Service public class ClassRoomServiceImpl implements ClassRoomService { @Resource private ClassRoomDao classRoomDao; @Override public ClassRoom saveClassRoom(ClassRoom classRoom) { return classRoomDao.saveClassRoom(classRoom); } }
5.测试类
import java.util.ArrayList; import java.util.List; import org.junit.Test; import org.springframework.test.AbstractTransactionalSpringContextTests; import com.aia.domain.ClassRoom; import com.aia.domain.Student; import com.aia.service.ClassRoomService; public class ClassRoomServiceImplTest extends AbstractTransactionalSpringContextTests{ @Override protected String[] getConfigLocations() { return new String[] {"applicationContext.xml"}; } private ClassRoomService classRoomService; public void setClassRoomService(ClassRoomService classRoomService) { this.classRoomService = classRoomService; } @Test public void testSaveClassRoom(){ ClassRoom classRoom = new ClassRoom(); classRoom.setClassroom_name("classroom_name"); classRoom.setClassroom_number("123"); Student student1 = new Student(); student1.setStu_name("student_name1"); student1.setStu_number("1001"); student1.setId(5); student1.setClassRoom(classRoom); Student student2 = new Student(); student2.setStu_name("student_name2"); student2.setStu_number("1002"); student2.setId(6); student2.setClassRoom(classRoom); List<Student> lists = new ArrayList<Student>(); lists.add(student1); lists.add(student2); classRoom.setStudents(lists); classRoomService.saveClassRoom(classRoom); //测试类注意要手动提交事务 setComplete(); } }
测试类中也可以使用如下方法获取bean
BeanFactory beanFactory = new ClassPathXmlApplicationContext("applicationContext.xml"); classRoomService = (ClassRoomService)beanFactory.getBean("classRoomService");
相关推荐
这篇博客"SSH+DB2搭建开发环境(上)"似乎主要探讨如何将这两者结合,为开发者创建一个安全且高效的开发环境。下面我们将深入探讨这两个技术以及如何在实际操作中结合它们。 首先,SSH(Secure Shell)是一种网络协议...
在互联网技术日益成熟的今天,云计算服务已经成为开发和测试应用的重要...利用IBM云平台,PHP开发者不仅可以在项目初期快速搭建开发环境,还能在产品发布前进行全面的测试,确保最终交付给用户的软件是稳定和高效的。
- **开发环境搭建**:在Linux环境下搭建Java开发环境。 2. **Web编程基础** - **HTML、CSS+DIV、JavaScript**:学习网页前端的基础技术。 3. **JavaWeb编程技术** - **JSP、Servlet、JavaBean**:掌握JSP页面、...
- **开发环境搭建**:学会在Linux环境下配置Java开发环境。 - **Web编程基础** - **HTML**:掌握HTML5的基本语法。 - **CSS+DIV**:学会使用CSS布局网页。 - **JavaScript**:掌握JavaScript基本语法,了解DOM...
3. **软件开发**:Linux提供了丰富的开发工具和环境,适合进行软件开发、测试等工作。 4. **日常工作**:除了上述专业用途外,Linux还广泛应用于日常办公环境中,提供各种办公软件和支持服务。 #### Ubuntu的起源和...
- 张三曾在(南京)江苏XXX软件公司担任高级软件工程师四年两个月,参与了系统的基础要求的环境搭建,技术调研,问题解决等工作。 - 在(南京)中软国际,他作为软件工程师参与了华为外包项目,主要负责Java Web...
- SVN版本管理环境搭建。 - 图像平台项目实施,包括服务器批量安装、数据批量导入、MAX矩阵及干线配置。 - 数值分析与算法研究。 3. **2007.7-2009.6 在某软件有限公司担任项目经理** - **主要职责**: - 负责...