hibernate 增删查改 基本使用方法

时间:2024-03-04 16:16:18

Hibernate 语法:

Hibernate的所有的操作都是通过Session完成的.

基本步骤如下:

1:通过配置文件得到SessionFactory:

SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory();

2:通过SessionFactory 得到一个Session

Session session=sessionFactory.openSession();

3:通过session进行插入,删除,修改以及查询.

插入例子:(1)声明一个事务;(2)Session执行save()操作;(3)事务提交;(4)关闭Session,可选.


public void insert(Person p){

Transaction tran=session.beginTransaction();

session.save(p);

tran.commit();

// session.close();

}


修改例子:(1)声明一个事务;(2)Session执行update()操作;(3)事务提交;(4)关闭Session,可选.

public void update(Person p){

Transaction tran=session.beginTransaction();

session.update(p);

tran.commit();

// session.close();

}

删除例子(主键删除,推荐使用):(1) 声明删除的SQl语句;(2)创建session的Query对象;(3)设置Query对象的参数;(4)执行Query的executeUpdate()操作;(5)Session事务提交

public void delete(int id){

String hql="delete Person as p where p.id=?";

Query query=session.createQuery(hql);

query.setInteger(0,id);

query.executeUpdate();

session.beginTransaction().commit();

}

删除例子(对象删除):(1)声明一个事务;(2)Session执行delete()操作;(3)事务提交;(4)关闭Session,可选.

public void delete(Person p){

Transaction tran = session.beginTransaction();

session.delete(p);

tran.commit();

session.close();

}

查询例子:(跟删除差不多) 查询语句不需要事务提交


(1) 声明删除的SQl语句;(2)创建session的Query对象;(3)设置Query对象的参数;

public Persion queryById(int id){

String hql="from Person as p where p.id=?";

Query query=session.createQuery();

query.setInteger(0,id);

List rsList=query.list();

iterator it=rsList.iterator();

Person person=null;

while(it.haseNext()){

person=(Person)it.next();

}

return person;

}