emp

映射一对多双向关联关系 cascade、inverse、属性

允我心安 提交于 2020-03-23 13:02:26
当类与类之间建立了关联,就可以方便的从一个对象导航到另一个对象。或者通过集合导航到一组对象。例如: 对于给定的Emp对象,如果想获得与它关联的Dept对象,只要调用如下方法 Dept dept=emp.getDept(); //从Emp对象导航到关联的Dept对象 以Dept(部门)类和Emp(员工)类为例: 一、配置双向一对多关联 需在Dept类中增加一个集合类型的emps属性 private Set<Emp> emps=new HashSet<Emp>(); public Set<Emp> getEmps() { return emps; } public void setEmps(Set<Emp> emps) { this.emps = emps; 如何在映射文件中映射集合类型的emps属性。由于在Dept表中没有直接与emps属性对应的字段。因此不能用<property>元素来映射emps属性,而要使用<set>元素: <set name="emps"> <key column="deptNo"></key> <!-- 多的一方 emp外键 --> <one-to-many class="Emp" /> </set> 解析: <set>元素的name属性:设定持久化类的属性名。此处为Dept类的emps属性。 <set>元素还包含两个子元素: ①<key>元素

06章 映射一对多双向关联关系、以及cascade、inverse属性

倾然丶 夕夏残阳落幕 提交于 2020-03-23 13:02:02
当类与类之间建立了关联,就可以方便的从一个对象导航到另一个对象。或者通过集合导航到一组对象。例如: 对于给定的Emp对象,如果想获得与它关联的Dept对象,只要调用如下方法 Dept dept=emp.getDept(); //从Emp对象导航到关联的Dept对象 以Dept(部门)类和Emp(员工)类为例: 一、配置双向一对多关联 需在Dept类中增加一个集合类型的emps属性 private Set<Emp> emps=new HashSet<Emp>(); public Set<Emp> getEmps() { return emps; } public void setEmps(Set<Emp> emps) { this.emps = emps; 如何在映射文件中映射集合类型的emps属性。由于在Dept表中没有直接与emps属性对应的字段。因此不能用<property>元素来映射emps属性,而要使用<set>元素: <set name="emps"> <key column="deptNo"></key> <!-- 多的一方 emp外键 --> <one-to-many class="Emp" /> </set> 解析: <set>元素的name属性:设定持久化类的属性名。此处为Dept类的emps属性。 <set>元素还包含两个子元素: ①<key>元素

SSH网上商城二

空扰寡人 提交于 2020-03-23 13:01:48
1、实现的功能如下 当用户登陆成功之后,在首页显示所有的一级分类 显示热门商品 显示最新商品 当用户点击某个一级分类的菜单选项的时候,显示当前一级分类菜单项下所有的二级分类,并且按照分页的形式显示该二级分类下的所有商品 第20课:首先显示一级分类 第21课:热门商品的显示 效果如下所示: 第23课:热门最新的商品 第24课:首先点击商品显示商品的详情 在首页的index.jsp中 <s:iterator var="p" value="nList"> <li> <a href="${ pageContext.request.contextPath }/product_findByPid.action?pid=<s:property value="#p.pid"/>" target="_blank"><img src="${pageContext.request.contextPath}/<s:property value="#p.image"/>" data-original="http://storage.shopxx.net/demo-image/3.0/201301/4a51167a-89d5-4710-aca2-7c76edc355b8-thumbnail.jpg" style="display: block;"></a> </li> </li> </s:iterator>

Hibernate关联关系配置(多对一,一对多)

半城伤御伤魂 提交于 2020-03-23 13:01:13
第一种关联关系:一对多(多对一) "一对多"是最普遍的映射关系,简单来讲就如员工与部门的关系。 一对多 :从部门的角度来说一个部门有多个员工,即为一对多。 多对一 :从员工的角度来说多个员工对应一个部门,即多对一。 多对一关系单向在hbm文件中的配置信息: Emp.hbm.xml中: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <!-- package:要映射的对象所在的包(可选,如果不指定,此文件下所有的类都要指定全路径) auto-import 默认为true,在写HQL的时候自动导入包名 如果指定为false,在写HQL的时候必须要写上类的全名-- > <hibernate-mapping package="cn.xsy.entity.day_manytoone"> <class name="Emp" table="Emp"> <id name="empno" column="empno"> <generator class="native"></generator> </id> <many-to-one

Hibernate框架之注解的配置

佐手、 提交于 2020-03-23 12:55:07
在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式以后,发现使用annotation的方式可以更简介,所以这里就简单记录下通过annotation来配置各种映射关系,在hibernate4以后已经将annotation的jar包集成进来了,如果使用hibernate3的版本就需要引入annotation的jar包。 配置持久化类常用的注解: 注:GeneratedValue指定了标识符的生成策略。jpa提供了4种标准用法。 01.AUTO:根据不同的数据库选择不同的策略 02.TABLE:使用表保存id值 03.INDENITY:使用数据库自动生成主键 04.SEQUENCE:使用序列创建主键(如Oracle) 配置关联关系常用的注解: 话不多说了,待大家来看看到底怎么用的才最重要 1.注解配置对象关联关系之 一对一(学生对学生证) Student.java package cn.zhang.entity; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue;

06章 映射一对多双向关联关系、以及cascade、inverse属性

半世苍凉 提交于 2020-03-23 12:53:48
当类与类之间建立了关联,就可以方便的从一个对象导航到另一个对象。或者通过集合导航到一组对象。例如: 对于给定的Emp对象,如果想获得与它关联的Dept对象,只要调用如下方法 Dept dept=emp.getDept(); //从Emp对象导航到关联的Dept对象 以Dept(部门)类和Emp(员工)类为例: 一、配置双向一对多关联 需在Dept类中增加一个集合类型的emps属性 private Set<Emp> emps=new HashSet<Emp>(); public Set<Emp> getEmps() { return emps; } public void setEmps(Set<Emp> emps) { this.emps = emps; 如何在映射文件中映射集合类型的emps属性。由于在Dept表中没有直接与emps属性对应的字段。因此不能用<property>元素来映射emps属性,而要使用<set>元素: <set name="emps"> <key column="deptNo"></key> <!-- 多的一方 emp外键 --> <one-to-many class="Emp" /> </set> 解析: <set>元素的name属性:设定持久化类的属性名。此处为Dept类的emps属性。 <set>元素还包含两个子元素: ①<key>元素

mysql update

╄→гoц情女王★ 提交于 2020-03-21 10:32:42
#把每个员工编号和上司的编号+1,用order by 完成 update t_emp set empno = empno + 1,mgr = mgr + 1 ORDER BY empno DESC # 把月收入前三名的工资减100 LIMIT 完成 UPDATE t_emp set sal = sal - 100 ORDER BY sal+ IFNULL(comm,0) desc limit 3 # 把 10 部门中,工龄超过20年的员工,底薪增加200 update t_emp set comm = IFNULL(comm,0) + 200 where deptno = 10 AND DATEDIFF(NOW(),hiredate)/365 > 20 #把 ALLEN 调往RESEARCH部门,职务调整为ANALYST 第一种方法 UPDATE t_emp SET job = 'ANALYST' , deptno = (SELECT deptno FROM t_dept WHERE dname = 'RESEARCH') WHERE ename = 'ALLEN' 第二种方法 #把 ALLEN 调往RESEARCH部门,职务调整为ANALYST UPDATE t_emp e join t_dept d SET e.deptno = d.deptno WHERE e.ename =

Oracle连接查询

孤街醉人 提交于 2020-03-19 05:51:37
1、 NVL(comm,0) NVL 函数将 NULL 变为指定的内容。 2、 DECODE(col/expression,search1,result1,search2,result2,[…]) select decode(1,1,' 内容是 1',2,' 内容是 2',3,' 内容是 3') from dual; 3、 自然连接不显示含有NULL的值 SELECT E.ENAME, E.SAL, D.DNAME, E.DEPTNO FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO ORDER BY ENAME; 等同于 SELECT * FROM dept NATURAL JOIN emp; SELECT * FROM emp join dept using (deptno); 4、左连接( + )在右面,以左边的表为准,显示左边含有NULL的数据 SELECT E.ENAME, E.SAL, D.DNAME, E.DEPTNO FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO(+) ORDER BY ENAME; 等同于 SELECT E.ENAME, E.SAL, D.DNAME, E.DEPTNO FROM EMP E LEFT OUTER JOIN DEPT D ON E.DEPTNO =

PLSQL复合变量与参照变量

狂风中的少年 提交于 2020-03-19 00:09:43
PLSQL复合变量与参照变量 PLSQL复合变量 复合变量指用于存放多个值的变量。定义复合变量时,必须要使用PL/SQL的复合数据类型。PL/SQL包括 PL/SQL记录、PL/SQL表、嵌套表及VARRAY等四种复合数据类型。 1、PLSQL记录 每个PL/SQL记录一般都包含多个成员,当使用PL/SQL记录时,需要注意在定义部分定义记录类型和记录变量,然后在执行部分引用该记录变量。 实例: DECLARE TYPE emp_record_type IS RECORD( name emp.ename%TYPE, salary emp.sal%TYPE, title emp.job%TYPE); emp_record emp_record_type; BEGIN SELECT ename,sal,job INTO emp_record FROM emp WHERE empno=7788; dbms_output.put_line('雇员名:'||emp_record.name); END; 注:emp_record_type是记录类型,emp_record是记录变量,emp_record.name表示引用记录变量emp_record的成员name。 2、PL/SQL表 (索引表) 与高级语言数组不同,PL/SQL表的元素个数没有限制,并且其下标没有上下限。当使用PL/SQL表时

分页查询(六)

流过昼夜 提交于 2020-03-18 17:07:50
一、Oracle分页sql --分页表select *from emp; --分页查询 --【1】第一条查询语句带条件 -->1排序(当有条件时加上条件) select empno,ename,sal from emp where deptno is not null order by sal desc; -->2作为一个新的表添加了一个rd列作为分页的序号 select rownum as rd,t.*from (select empno,ename,sal from emp where deptno is not null order by sal desc) t; -->3分页 select *from (select rownum as rd,t.*from (select empno,ename,sal from emp where deptno is not null order by sal desc) t)k where rd between 1 and 3; ========================================== (1)select *from (select rownum as rd,t.*from (select empno,ename,sal from emp where deptno is not null order by