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 query = session.createQuery(hql,User.class);
		//通过query对象得到集合
		List list = query.list();
		//遍历集合
		for (User user : list) {
			System.out.println(user.getUsername());
		}
		trans.commit();
	}

你可能感兴趣的:(JavaEE,Hibernate)