Hibernate课程 初探一对多映射2-7 测试-修改和删除学生信息
package com.ddwei.entity; import java.util.Set; import org.hibernate.Session;
import org.hibernate.Transaction; import com.ddwei.util.HibernateUtil; /**
* 建立关联关系后,
* 可以方便的从一个导航对象,关联到另一个导航对象!
* 注意关联方向:一对多
* @author weijingli
*
*/
public class Test { public static void main(String[] args) {
// add();
// show();
// updateGrade();
deleteStu();
} //增加班级学生信息
public static void add(){ Grade g = new Grade("java一班","java一班是一个好班");
Student stu1 = new Student("秦皇","男");
Student stu2 = new Student("汉武","男");
Student stu3 = new Student("唐宗","男");
g.getStudents().add(stu1);
g.getStudents().add(stu2);
g.getStudents().add(stu3);
Session session = HibernateUtil.getSession();
Transaction tx = session.beginTransaction();
session.save(g);
session.save(stu1);
session.save(stu2);
session.save(stu3);
tx.commit();
HibernateUtil.closeSession(session);
} //查询班级学生信息
public static void show(){ Session session1 = HibernateUtil.getSession();
Grade grade1 = (Grade) session1.get(Grade.class, 1);//得到java1班
System.out.println("班级名称为:"+grade1.getGname());
Set<Student> students = grade1.getStudents();
for(Student stu:students){
System.out.println("学生姓名为:"+stu.getSname());
}
HibernateUtil.closeSession(session1);
} //修改学生所在班级信息
public static void updateGrade(){ Grade grade2 = new Grade("java二班","java二班介绍");
Session session2 = HibernateUtil.getSession();
Transaction tx2 = session2.beginTransaction();
Student student1 = (Student) session2.get(Student.class, 1);
grade2.getStudents().add(student1);//java二班添加学号为1的学生
session2.save(grade2);
tx2.commit();
HibernateUtil.closeSession(session2);
} //删除学生信息
public static void deleteStu(){
Session session2 = HibernateUtil.getSession();
Transaction tx2 = session2.beginTransaction();
Student stu2 = (Student)session2.get(Student.class, 3);
session2.delete(stu2);
tx2.commit();
HibernateUtil.closeSession(session2);
} }
Hibernate课程 初探一对多映射2-7 测试-修改和删除学生信息的更多相关文章
- hibernate课程 初探一对多映射2-6 测试-添加和查询学生信息
package com.ddwei.entity; import java.util.Set; import org.hibernate.Session; import org.hibernate.T ...
- Hibernate课程 初探一对多映射4-3 测试--信息查询
建立双向一对多关系,既可以由一方查询多方信息,同样可以由多方查询一方信息 demo: //查询学生所在班级 public static void showGidByStudent(){ Session ...
- Hibernate课程 初探一对多映射3-4 双向多对一的测试
1 单向多对一和单向多对一的区别 比如部门和员工,一个部门下有很多员工,如果只查一个员工属于哪个部门,就用单向的,如果还要查一个部门下的所有员工,就用双向的. 2 双向多对一的配置 除了单向xml和双 ...
- Hibernate课程 初探一对多映射3-3 单向多对一的测试
public static void testManyToOne(){ Student stu1 = new Student("小明","男"); Studen ...
- Hibernate课程 初探一对多映射4-2 cascade级联属性
1 级联属性:hibernate一方和多方设置关联关系,当一方发生相应修改时(见下表),多方不用进行显式修改,也能进行相应修改. 级联在一方和多方xml中都可以设置 属性值 含义和作用 all 对 ...
- hibernate课程 初探一对多映射2-5 创建持久化类并配置映射文件
学习点: 1 一对多映射,一方 Grade.hbm.xml的写法: <hibernate-mapping> <class name="com.ddwei.entity.Gr ...
- Hibernate课程 初探一对多映射5-2 Eclipse添加数据库连接
1 Eclipse新建java项目 2 Windows ==> show view == >other ==>Data source Explorer 3 左侧视图 database ...
- Hibernate课程 初探一对多映射4-1 inverse属性
1 <Set>节点的inverse属性默认由one方来维护(默认值为false).将inverse属性修改为true则由多方来维护.
- Hibernate课程 初探一对多映射3-2 单向多对一的配置
1 多方实体类中加入,一方类和getset方法 //多方定义一个一方的引用 private Grade grade; public Grade getGrade() { return grade; } ...
随机推荐
- 在PowerShell中操作SharePoint对象
1. 用PowerShell创建一个SharePoint内容对象创建一个自定义列表:$SPSite = New-Object Microsoft.SharePoint.SPSite("htt ...
- 4、OpenCV Python 像素运算
__author__ = "WSX" import cv2 as cv import numpy as np #前提需要运算的图像大小和类型完全相同 #算术运算 加减乘除 #逻辑运 ...
- 昂达v981平板刷机教程连接
http://tieba.baidu.com/p/3721193574 http://www.ondabbs.cn/forum.php?mod=viewthread&tid=65393 htt ...
- Python内置函数、作用域、闭包、递归
1.几个可能用到的内置函数 2.函数内变量的作用域 3.内嵌函数和闭包 4.递归函数 1.常见的内置函数 常见的内置函数: 查看内置函数: print(dir(__builtins ...
- 【学习笔记】Python 3.6模拟输入并爬取百度前10页密切相关链接
[学习笔记]Python 3.6模拟输入并爬取百度前10页密切相关链接 问题描述 通过模拟网页,实现百度搜索关键词,然后获得网页中链接的文本,与准备的文本进行比较,如果有相似之处则代表相关链接. me ...
- P3943 星空
传送门 观察题目数据,发现 k ≤ 8 ,可能可以从这里入手解决问题 考虑状态压缩 但是我们每次操作都会让一连串的序列改变,而序列的每个状态都是必须要知道的 很麻烦,所以考虑如何把一段区间表示地简单一 ...
- KM算法(理解篇)
转载:https://www.cnblogs.com/logosG/p/logos.html(很好,很容易理解) 一.匈牙利算法 匈牙利算法用于解决什么问题? 匈牙利算法用于解决二分图的最大匹配问题. ...
- 三嫖客之awk
awk '{h[$1]++}END{for(pol in h)print pol,h[pol]}' access.log |sort -rnk2|head awk -F: -vOFS=":& ...
- 为经典版eclipse增加web and Java EE插件
http://download.eclipse.org/releases/luna/ 0 1 2选择对应版本“luna”,http://download.eclipse.org/releases/lu ...
- Java学习笔记day05_方法重载
1.方法的重载overload 在同一个类中, 允许出现同名的方法, 只要方法的参数列表不同即可. 参数列表不同: 参数个数不同, 参数类型不同, 顺序不同. public class MethodO ...