`

SSH+DB2搭建开发环境(下)

 
阅读更多

1.倒入所需jar包

(因网站对附件大小的限制,现将所需jar包分两部分上传。位置分别为http://zhizizhishou0104.iteye.com/blog/1993956http://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+DB2搭建开发环境(上)"似乎主要探讨如何将这两者结合,为开发者创建一个安全且高效的开发环境。下面我们将深入探讨这两个技术以及如何在实际操作中结合它们。 首先,SSH(Secure Shell)是一种网络协议...

    Develop and Test Your PHP Applications on the IBM cloud

    在互联网技术日益成熟的今天,云计算服务已经成为开发和测试应用的重要...利用IBM云平台,PHP开发者不仅可以在项目初期快速搭建开发环境,还能在产品发布前进行全面的测试,确保最终交付给用户的软件是稳定和高效的。

    系统java学习

    - **开发环境搭建**:在Linux环境下搭建Java开发环境。 2. **Web编程基础** - **HTML、CSS+DIV、JavaScript**:学习网页前端的基础技术。 3. **JavaWeb编程技术** - **JSP、Servlet、JavaBean**:掌握JSP页面、...

    JavaEE.doc

    - **开发环境搭建**:学会在Linux环境下配置Java开发环境。 - **Web编程基础** - **HTML**:掌握HTML5的基本语法。 - **CSS+DIV**:学会使用CSS布局网页。 - **JavaScript**:掌握JavaScript基本语法,了解DOM...

    第1章 安装UbuntuServer11.10

    3. **软件开发**:Linux提供了丰富的开发工具和环境,适合进行软件开发、测试等工作。 4. **日常工作**:除了上述专业用途外,Linux还广泛应用于日常办公环境中,提供各种办公软件和支持服务。 #### Ubuntu的起源和...

    面试简历模板

    - 张三曾在(南京)江苏XXX软件公司担任高级软件工程师四年两个月,参与了系统的基础要求的环境搭建,技术调研,问题解决等工作。 - 在(南京)中软国际,他作为软件工程师参与了华为外包项目,主要负责Java Web...

    WEB工程师个人简历表.doc

    - SVN版本管理环境搭建。 - 图像平台项目实施,包括服务器批量安装、数据批量导入、MAX矩阵及干线配置。 - 数值分析与算法研究。 3. **2007.7-2009.6 在某软件有限公司担任项目经理** - **主要职责**: - 负责...

Global site tag (gtag.js) - Google Analytics