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:
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:
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: