您的位置:首页 > 博客中心 > 数据库 >

Hibernate学习-------数据库增删改查操作(部分)

时间:2022-03-13 23:11

(1)增加和删除

<span style="white-space:pre">	</span>@Test
	public void test()
	{
		EStudent student=new EStudent();
		student.setName("张三");
		student.setSex("男");
		
		Session session=sf.openSession();
		session.beginTransaction();
		
        session.save(student);//增
        
        //删除操作delete
        EStudent s=new EStudent();
        s.setId(4);//设置ID
        session.delete(s);

        session.getTransaction().commit();
        session.close();
	}
(2)get和Load查询,注意两个的区别

<span style="white-space:pre">	</span>@Test
	public void testLoad()//Load读取数据库
	{
		Session session=sf.openSession();
		session.beginTransaction();
		
		//参数分别为EStudent实体类和要查询的主键
		//Load只有当需要查询的对象的时候(比如getName)时才会生成并执行SQL语句
		//返回的是代理对象
		EStudent s=(EStudent) session.load(EStudent.class, 1);
		
		
		System.out.println(s.getId()+"--"+s.getName());
		
		session.getTransaction().commit();
//		System.out.println(s.getId()+"--"+s.getName());//如果只有在这使用到查询的对象的属性方法会报错
		session.close();
	}
	@Test
	public void testGet()//get读取数据库
	{
		Session session=sf.openSession();
		session.beginTransaction();
		
		//参数分别为EStudent实体类和要查询的主键
		//立即生成并执行SQL语句
		EStudent s=(EStudent) session.get(EStudent.class, 1);
		
		System.out.println(s.getId()+"--"+s.getName());
		
		session.getTransaction().commit();
		session.close();
	}

(3)update更新操作

gxlsystem.com,布布扣

@Test
	public void testUpdate()//更新数据库
	{
		Session session=sf.openSession();
		session.beginTransaction();
		
		//先查询再修改,如果修改后的属性跟原来的相同则不进行更新
		//参数分别为EStudent实体类和要查询的主键
		//立即生成并执行SQL语句
		EStudent s=(EStudent) session.get(EStudent.class, 1);
		s.setName("dou豆1");
		session.update(s);
		
		//先创建一个新的对象,设置ID再修改,如果不设置ID,会出错
		//如果只设置了部分属性,则未设置的属性会为空值或者默认值
		EStudent s2=new EStudent();
		s2.setId(6);//数据库中存在,如果设置的ID在数据库中不存在同样会出错
		s2.setName("豆豆豆豆");
		session.update(s2);
		
		session.getTransaction().commit();
		
		session.close();
	}

(4)HQL更新操作

	@Test
	public void testUpdateHQL()//更新数据库  使用HQL
	{
		Session session=sf.openSession();
		session.beginTransaction();
		
		//org.hibernate.Query    注意Update的对象
		Query q=session.createSQLQuery("Update newtablestudent set name='张三' where name='豆豆豆豆'");
		q.executeUpdate();//更新
		session.getTransaction().commit();
		
		session.close();
	}




热门排行

今日推荐

热门手游