文档章节

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

愛伱無悔
 愛伱無悔
发布于 2014/06/23 15:45
字数 675
阅读 18
收藏 0
点赞 0
评论 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

SQL优化常用方法21

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

inzaghi1984 ⋅ 2017/12/15 ⋅ 0

数据库SQL语句书写注意事项

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

长平狐 ⋅ 2012/09/06 ⋅ 0

ORACLE常用SQL技巧

ORACLE常用SQL技巧 1. SELECT子句中避免使用 “” 当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 ‘’ 是一个方便的方法.不幸 的是,这是一个非常低效的方法. 实际上,ORACLE在解...

程序员YB ⋅ 2011/12/06 ⋅ 1

oracle sql优化(二)

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

等待救赎 ⋅ 2016/03/02 ⋅ 0

hibernate 结合servlet及 jsp 的使用

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

火龙战士 ⋅ 2015/07/09 ⋅ 0

SQL优化34条(二)

(17) 用索引提高效率: 索引是表的一个概念部分,用来提高检索数据的效率,ORACLE使用了一个复杂的自平衡B-tree结构. 通常,通过索引查询数据比全表扫描要快. 当ORACLE找出执行查询和Update语...

老枪 ⋅ 2010/03/12 ⋅ 0

30个Oracle语句优化规则详解

选用适合的Oracle优化器 Oracle的优化器共有3种: a.RULE(基于规则) b.COST(基于成本) c.CHOOSE(选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZERMODE参数的各种声明,如RULE、...

markGao ⋅ 2014/05/28 ⋅ 0

Oracle语句优化30个规则详解

选用适合的Oracle优化器 Oracle的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZERMODE参数的各种声明,如...

风一样 ⋅ 2011/08/07 ⋅ 0

初识Oracle执行计划

1,先建立测试表和数据, CREATE TABLE EMP AS SELECT LEVEL EMPL_ID, (MOD (ROWNUM, 20)+1) DEPT_ID, SUBSTR(DBMSRANDOM.STRING ('X', DBMSRANDOM.VALUE (20, 50)),0,10) EMPNAME, TRUNC (DBM......

晨曦之光 ⋅ 2012/04/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring Email

使用spring发Email其实就是使用spring自己封装携带的一个javamail.JavaMailSenderImpl类而已。这个类可以当一个普通的java对象来使用,也可以通过把它配置变成spring Bean的方式然后注入使用...

BobwithB ⋅ 25分钟前 ⋅ 0

spark 整理的一些知识

Spark 知识点 请描述spark RDD原理与特征? RDD全称是resilient distributed dataset(具有弹性的分布式数据集)。一个RDD仅仅是一个分布式的元素集合。在Spark中,所有工作都表示为创建新的...

tuoleisi77 ⋅ 28分钟前 ⋅ 0

思考

时间一天天过感觉自己有在成长吗?最怕的是时光匆匆而过,自己没有收获!下面总结下最近自己的思考。 认识自己 认识另一个自己,人们常说要虚心听取别人意见和建议。然而人往往是很难做到的,...

hello_hp ⋅ 28分钟前 ⋅ 0

IT行业的变革就像世界杯德国对战墨西哥一样难以预测[图]

最近在观看世界杯,尤其是昨天的比赛,上一届卫冕冠军德国队居然0:1告负墨西哥,这创造了历史,首先是墨西哥从来没赢过德国队,其次是德国队36年来首站没输过,再差也是打平,而这次,德国队...

原创小博客 ⋅ 47分钟前 ⋅ 0

解决CentOS6、7,/etc/sysconfig/下没有iptables的问题

一、Centos 6版本解决办法: 1.任意运行一条iptables防火墙规则配置命令: iptables -P OUTPUT ACCEPT 2.对iptables服务进行保存: service iptables save 3.重启iptables服务: service ...

寰宇01 ⋅ 57分钟前 ⋅ 2

数据库备份和恢复

备份:mysqldump -u root -p 数据库>磁盘路径 恢复:mysql -u root -p 数据库<sql脚本的磁盘路径

anlve ⋅ 今天 ⋅ 0

发生了什么?Linus 又发怒了?

在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus 的暴怒。 这一次 Linus Torvalds 发怒的原...

问题终结者 ⋅ 今天 ⋅ 0

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 今天 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部