다음 작업은 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 인 데이터가 삭제되었습니다.