Hibernate uses SQL to add, delete and modify data

The following operations are done in the Junit test:
1. Create a new tool class to obtain SessionFactory and session, reference code:
tool class HibernateSessionFactory
2. Use SQL in Hibernate to add new data, you need to pay attention to the value of the setting parameters, The index starts from 0 (modification and deletion are the same), sample code:

//Hibernate使用sql新增
@Test
public void testInsert() throws ParseException{
    
    
	Session session=HibernateSessionFactory.getSession();
	Transaction transaction=session.getTransaction();
	transaction.begin();
	String sql="insert into user (username,password,sex,createtime,powerid) " +
			"values(?,?,?,?,?)";
	
	//根据sql创建SQLQuery
	SQLQuery query=session.createSQLQuery(sql).addEntity(User.class);
	query.setString(0, "蝴蝶忍")
		 .setString(1, "123")
		 .setBoolean(2, true)
		 .setDate(3, new Date())
		 .setInteger(4, 1);
	//执行新增
	int r=query.executeUpdate();
	if(r>0){
    
    
		System.out.println("新增成功");
	}else{
    
    
		System.out.println("新增失败");
	}
	transaction.commit();
	session.close();
}

Screenshot of running result:
Insert picture description here

2. Hibernate uses SQL to modify data, sample code:

//Hibernate使用sql修改
@Test
public void testUpdate(){
    
    
	Session session=HibernateSessionFactory.getSession();
	Transaction transaction=session.getTransaction();
	transaction.begin();
	
	String sql="update user set username=? where userid=?";
	
	//根据sql创建SQLQuery
	SQLQuery query=session.createSQLQuery(sql).addEntity(User.class);
	query.setString(0, "富冈义勇")
		 .setInteger(1, 39);
	//执行修改
	int r=query.executeUpdate();
	if(r>0){
    
    
		System.out.println("修改成功");
	}else{
    
    
		System.out.println("修改失败");
	} 
	
	transaction.commit();
	session.close();
}

Screenshot of running result:
Insert picture description here

3. Hibernate uses SQL to delete data, sample code:

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

Screenshot of the running result, the data with id 39 has been deleted:
Insert picture description here

Guess you like

Origin blog.csdn.net/weixin_44547592/article/details/108651820