文档章节

SSH dept-emp (one-to-many) SSH一对多

愛伱無悔
 愛伱無悔
发布于 2014/06/23 15:45
字数 675
阅读 18
收藏 0
package com.action;

import java.util.List;

import com.dao.BaseDao;
import com.pojo.Emp;


public class AllAction {

	List list;
	BaseDao dao;
	Emp e;
	
	
	public Emp getE() {
		return e;
	}



	public void setE(Emp e) {
		this.e = e;
	}


	public List getList() {
		return list;
	}

	public void setList(List list) {
		this.list = list;
	}

	public BaseDao getDao() {
		return dao;
	}

	public void setDao(BaseDao dao) {
		this.dao = dao;
	}

	public String findAll(){
		
	list=dao.findAll("from Emp");
	return "findAll";
	}
	public String finddept(){
		
		list=dao.findAll("from Dept");
		return "finddept";
	}
	
	public String insert(){
		
		dao.save(e);
		return "insert";
		
	}
	
	public String delete(){
		
		Emp emp=(Emp) dao.findById(Emp.class, e.getEmpno());
		dao.delete(emp);
		return "delete";
		
	}
	
	public String toupdate(){
		e=(Emp)dao.findById(Emp.class, e.getEmpno());
		//System.out.println(e.getEname());
		list=dao.findAll("from Dept");
		return "toupdate";
		
	}
	public String update(){
		
		
		dao.update(e);
		return "update";
		
	}
}

 

package com.action;

import java.util.List;

import com.dao.BaseDao;
import com.pojo.Dept;
import com.pojo.Emp;

public class MyAction {
	
	List list;
	BaseDao dao;
	
	Dept d;
	String[] ename;
	String[] job;
	Double[] sal;
	public Dept getD() {
		return d;
	}

	public void setD(Dept d) {
		this.d = d;
	}

	public BaseDao getDao() {
		return dao;
	}

	public void setDao(BaseDao dao) {
		this.dao = dao;
	}

	public List getList() {
		return list;
	}

	public void setList(List list) {
		this.list = list;
	}
	
	public String findDept(){
		
		list=dao.findAll("from Dept");
		
		return "findDept";
	}
	
	public String delete(){
		
		Dept dept=(Dept) dao.findById(Dept.class, d.getDeptno());
		dao.delete(dept);
		
		return "delete";
		
	}
	
	public String insert(){
		
		if(ename!=null){
			
			for (int i = 0; i < ename.length; i++) {
				
				Emp emp=new Emp();
				emp.setEname(ename[i]);
				emp.setJob(job[i]);
				emp.setSal(sal[i]);
				emp.setDept(d);
				d.getEmps().add(emp);
			}
		}
		dao.save(d);
		return "insert";
	}
}

package com.dao;

import java.util.List;

public interface BaseDao {
	
	List findAll(String hql);
	
	void save(Object obj);
	
	void delete(Object obj);
	
	void update(Object obj);
	
	Object findById(Class class1,Long id);
}

package com.dao;

import java.util.List;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.pojo.Emp;

public class BaseDaoImpl extends HibernateDaoSupport implements BaseDao{

	/**
	 * @param args
	 */

	public void delete(Object obj) {
		
		getHibernateTemplate().delete(obj);
		
	}

	public List findAll(String hql) {
		
		return this.getHibernateTemplate().find(hql);
	}

	public Object findById(Class class1, Long id) {
		
		return this.getHibernateTemplate().get(class1, id);
	}

	public void save(Object obj) {
		
		getHibernateTemplate().save(obj);
		
	}

	public void update(Object obj) {
		
		getHibernateTemplate().update(obj);
		
	}
	public static void main(String[] args) {
		
	ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
		
		BaseDao bd=(BaseDao) ac.getBean("dao");
		List list=bd.findAll("from Emp");
		System.out.println(list.size());
	}
}

package com.pojo;

import java.util.HashSet;
import java.util.Set;

/**
 * Dept entity.
 * 
 * @author MyEclipse Persistence Tools
 */

public class Dept implements java.io.Serializable {

	// Fields

	private Long deptno;
	private String dname;
	private String loc;
	private Set<Emp> emps = new HashSet<Emp>(0);

	// Constructors

	/** default constructor */
	public Dept() {
	}

	/** minimal constructor */
	public Dept(Long deptno) {
		this.deptno = deptno;
	}

	/** full constructor */
	public Dept(Long deptno, String dname, String loc, Set<Emp> emps) {
		this.deptno = deptno;
		this.dname = dname;
		this.loc = loc;
		this.emps = emps;
	}

	// Property accessors

	public Long getDeptno() {
		return this.deptno;
	}

	public void setDeptno(Long deptno) {
		this.deptno = deptno;
	}

	public String getDname() {
		return this.dname;
	}

	public void setDname(String dname) {
		this.dname = dname;
	}

	public String getLoc() {
		return this.loc;
	}

	public void setLoc(String loc) {
		this.loc = loc;
	}

	public Set<Emp> getEmps() {
		return this.emps;
	}

	public void setEmps(Set<Emp> emps) {
		this.emps = emps;
	}

	

}

package com.pojo;

import java.util.Date;

/**
 * Emp entity.
 * 
 * @author MyEclipse Persistence Tools
 */

public class Emp implements java.io.Serializable {

	// Fields

	private Long empno;
	private Dept dept;
	private String ename;
	private String job;
	private Long mgr;
	private Date hiredate;
	private Double sal;
	private Double comm;

	// Constructors

	/** default constructor */
	public Emp() {
	}

	/** minimal constructor */
	public Emp(Long empno) {
		this.empno = empno;
	}

	/** full constructor */
	public Emp(Long empno, Dept dept, String ename, String job, Long mgr,
			Date hiredate, Double sal, Double comm) {
		this.empno = empno;
		this.dept = dept;
		this.ename = ename;
		this.job = job;
		this.mgr = mgr;
		this.hiredate = hiredate;
		this.sal = sal;
		this.comm = comm;
	}

	// Property accessors

	public Long getEmpno() {
		return this.empno;
	}

	public void setEmpno(Long empno) {
		this.empno = empno;
	}

	public Dept getDept() {
		return this.dept;
	}

	public void setDept(Dept dept) {
		this.dept = dept;
	}

	public String getEname() {
		return this.ename;
	}

	public void setEname(String ename) {
		this.ename = ename;
	}

	public String getJob() {
		return this.job;
	}

	public void setJob(String job) {
		this.job = job;
	}

	public Long getMgr() {
		return this.mgr;
	}

	public void setMgr(Long mgr) {
		this.mgr = mgr;
	}

	public Date getHiredate() {
		return this.hiredate;
	}

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

	public Double getSal() {
		return this.sal;
	}

	public void setSal(Double sal) {
		this.sal = sal;
	}

	public Double getComm() {
		return this.comm;
	}

	public void setComm(Double comm) {
		this.comm = comm;
	}

}



© 著作权归作者所有

共有 人打赏支持
愛伱無悔
粉丝 0
博文 1
码字总数 675
作品 0
十堰
程序员
私信 提问
Hibernate之关联关系映射(一对多和多对一映射,多对多映射)

~接着之前的Hibernate框架接着学习(上篇面试过后发现真的需要学习一下框架了,不然又被忽悠让去培训。)~ 1:Hibernate的关联映射,存在一对多和多对一映射,多对多映射:   1.1:一对多和...

别叫小伙
2017/03/20
0
0
SQL优化常用方法21

用EXISTS替换DISTINCT 当提交一个包含一对多表信息(比如部门表和雇员表)的查询时,避免在SELECT子句中使用DISTINCT. 一般可以考虑用EXIST替换 例如: 低效: SELECT DISTINCT DEPTNO,DEPTNAME F...

inzaghi1984
2017/12/15
0
0
数据库SQL语句书写注意事项

1. 从多个表中选择记录时:(表名顺序) 执行顺序为从右往左,即表记录数少的放到右边,即最为基础表。如果有三个以上的表做连接查询,我们将交叉表作为基础表(即被其他表应用的表,即关系表...

长平狐
2012/09/06
127
0
oracle sql优化(二)

(13) 通过内部函数提高SQL效率.: 复杂的SQL往往牺牲了执行效率. 能够掌握上面的运用函数解决问题的方法在实际工作中是非常有意义的 (14) 使用表的别名(Alias): 当在SQL语句中连接多个表...

等待救赎
2016/03/02
34
0
hibernate 结合servlet及 jsp 的使用

hibernate 结合servlet及 jsp 的使用 1、搭建Hibernate框架 搭建Hibernate框架,大家都不陌生,我这里也不再重复。新建一个项目ServletHibernate,把连接MySQL数据库的jar包、Hibernate所需的...

火龙战士
2015/07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

solr使用规范

0. 目的 规范solr设计、用法,避免bug,提高性能 1. 设计规范 solr的用途是查询,不是存储,建议查询结果尽量都为id主键,而后再拿该id主键到缓存或者db中再查询相关信息,例如:请勿将经销商...

andersChow
9分钟前
1
0
11-《深度拆解JVM》之Java对象的内存布局

一、问题引入 在 Java 程序中,我们拥有多种新建对象的方式。除了最为常见的 new 语句之外,我们还可以通过反射机制、Object.clone 方法、反序列化以及 Unsafe.allocateInstance 方法来新建对...

飞鱼说编程
14分钟前
1
0
Windows Install Docker

win7、win8 win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ docker toolbox...

linuxprobe16
18分钟前
0
0
混合云环境中扩展Kubernetes的挑战及方案

流量突增时,我们需要扩展应用程序以满足用户需求。本文分享了扩展Kubernetes以及管理混合云环境时可能遇到的挑战,以及如何简单高效地完成Kubernetes扩展。 引 言 假设您的业务是在线的:您...

RancherLabs
26分钟前
1
0
Java集合小抄

Java集合小抄 1. List 1.1 ArrayList 以数组实现。节约空间,但是数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组。因此最好能给出数组大小的预估值。默认第一...

傅小水water
34分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部