Hibernate(5.3.7)基本操作

准备工作:
这种做法不可取,因为最好是要单独的一个HibernateUtil类(因为SessionFactory最好是唯一的)来生成session会话对象的,但我这里图省事,就这样写了,因为测试较为方便。详细的可以看我的笔记:Hibernate精通笔记

 /** 得到session方法
	 * @return
	 */
	protected Session getSession() {
		//加载配置文件
		Configuration configuration = new Configuration().configure();
		//创建session工厂 
		SessionFactory factory = configuration.buildSessionFactory();
		//创建session对象
		Session session = factory.getCurrentSession();
		return session;
	}

1、添加单个对象至数据库

 /**
	 * 添加对象到数据库
	 */
	@org.junit.Test
	public void testAdd(){
		//获得session对象
		Session session = getSession();
		//通过session开启事务
		Transaction trans = session.beginTransaction();
		//添加user对象
		User user = new User();
		user.setUsername("万星明");
		user.setPassword("666");
		session.save(user);
		//提交事务
		trans.commit();	
	}

2、从数据库中删除单个对象

 /**
	 * 从数据库删除对象
	 */
	@org.junit.Test
	public void testDelete() {

		//获得session对象
		Session session = getSession();
		//通过session开启事务
		Transaction trans = session.beginTransaction();
		//获取一个对象
		User user = new User();
		user.setId(5);
		//删除
		session.remove(user);
		//提交事务
		trans.commit();
	}

3、修改数据库单个对象

/**
	 * 修改数据库中的对象
	 */
	@org.junit.Test
	public void testUpdate() {
		//获得session对象
		Session session = getSession();
		//通过session开启事务
		Transaction trans = session.beginTransaction();
		//得到对象
		User user = (User)session.get(User.class,3);
		user.setUsername("万星月");
		//修改
		session.update(user);
		//提交事务
		trans.commit();	
	}

4、查询数据库全部对象包装成集合

 /**
	 * 查询数据库中对象(HQL查询)
	 */
	@org.junit.Test
	public void testQuery() {
		//获得session对象
		Session session = getSession();
		//通过session开启事务
		Transaction trans = session.beginTransaction();
		//HQL查询
		String hql="from User";
		//查询得到Query对象
		Query<User> query = session.createQuery(hql,User.class);
		//通过query对象得到集合
		List<User> list = query.list();
		//遍历集合
		for (User user : list) {
			System.out.println(user.getUsername());
		}
		trans.commit();
	}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值