Hibernate는 HQL을 사용하여 데이터를 추가, 삭제 및 수정합니다.

다음 작업은 Junit 테스트에서 수행됩니다.
1. SessionFactory 및 세션, 참조 코드를 얻기 위해 새 도구 클래스를 만듭니다.
도구 클래스 HibernateSessionFactory
2. Hibernate HQL은 Insert를 지원하지 않습니다. 대신 Hibernate session.save () 또는 SQL Insert를 사용합니다. HQL은 대소 문자를 구분하고 키워드는 대소 문자를 구분하지 않습니다. 샘플 코드 :

@Test
public void testInsert() throws ParseException{
    
    
	Session session=HibernateSessionFactory.getSession();
	Transaction transaction=session.getTransaction();
	transaction.begin();
	
	User user=new User();
	//根据sql创建SQLQuery
	user.setUsername("小技巧");
	user.setPassword("123");
	user.setPowerid(1);
	user.setCreatetime(new Date());
	user.setSex(false);
	
	//新增数据到数据库
	session.save(user);
	transaction.commit();
	session.close();
}

실행 결과 스크린 샷 :
여기에 사진 설명 삽입

3. Hibernate는 HQL을 사용하여 데이터, 샘플 코드를 수정합니다.

@Test
public void testUpdate(){
    
    
	Session session=HibernateSessionFactory.getSession();
	Transaction transaction=session.getTransaction();
	transaction.begin();
	
	String hql="update User set username=? where userid=?";
	
	//根据sql创建SQLQuery
	Query query=session.createQuery(hql);
	query.setString(0, "舞法天女")
		 .setInteger(1, 39);
	//执行修改
	int r=query.executeUpdate();
	if(r>0){
    
    
		System.out.println("修改成功");
	}else{
    
    
		System.out.println("修改失败");
	} 
	
	transaction.commit();
	session.close();
}

실행 결과 스크린 샷 :
여기에 사진 설명 삽입

4. Hibernate는 HQL을 사용하여 데이터, 샘플 코드를 삭제합니다.

@Test
public void testDelete(){
    
    
	Session session=HibernateSessionFactory.getSession();
	Transaction transaction=session.getTransaction();
	transaction.begin();
	
	String hql="delete User where userid=?";
	
	//根据sql创建SQLQuery
	Query query=session.createQuery(hql);
	query.setInteger(0, 39);
	//执行修改
	int r=query.executeUpdate();
	if(r>0){
    
    
		System.out.println("删除成功");
	}else{
    
    
		System.out.println("删除失败");
	} 
	
	transaction.commit();
	session.close();
}

실행 결과의 스크린 샷, ID 39 인 데이터가 삭제되었습니다.

여기에 사진 설명 삽입

추천

출처blog.csdn.net/weixin_44547592/article/details/108836345