Hibernate 插入,修改,删除,查询语句
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;
?? }