org.hibernate.Session hsession = HibernateUU.currentSession();
hsession.beginTransaction();
String sql = "update Bf_bookUU set bf_stock=bf_stockx+bf_rentx+bf_sendbook+bf_newbook where bf_stock!=bf_stockx+bf_rentx+bf_sendbook+bf_newbook";
Query query = hsession.createQuery(sql);
int row = query.executeUpdate();
System.out.println("Update book error stock count : " + row);
hsession.beginTransaction().commit();
hsession = HibernateUU.currentSession();
hsession.beginTransaction();
sql = "delete from Bf_user_bookUU where bf_status=-1";
query = hsession.createQuery(sql);
row = query.executeUpdate();
System.out.println("Delete user books remove count : " + row);
hsession.beginTransaction().commit();
觉得可以
jdbc操作的是数据 也就是sql
hibernate操作的是对象 用hql(操作实体类的对象)
例如String hql="from User(这里的User是个实体类) where name(为User类的一个属性)=? ";
可以通过query.setString(0,具体?的值);来对?进行赋值
你查询也是查的对象
hql :
增:session.save();
删:首要要写一个方法findUserById();用来查询特定的对象
查找到你要删除的对象然后session.delete(user);
改:找到药修改的对象 对其属性重新赋值之后
session.saveOrUpdate(user);即可!
直接上代码,不懂的再问我吧。
package com.winwill;
import java.util.list;
import org.hibernate.query;
import org.hibernate.session;
public class test {
@suppresswarnings("unchecked")
public static void main(string[] args) {
/**
* hibernate 实现数据插入
*/
session session = hibernateutil.getsessionfactory().getcurrentsession();
user u1 = new user();
u1.setname("zhangsan");
u1.setage(25);
session.begintransaction();
session.save(u1);
session.gettransaction().commit();
/**
* hibernate 实现数据删除
*/
session = hibernateutil.getsessionfactory().getcurrentsession();
session.begintransaction();
user u2 = new user();
u2.setid(53); //删除id=16的项
session.delete(u2);
session.gettransaction().commit();
/**
* hibernate 实现数据更新
*/
session = hibernateutil.getsessionfactory().getcurrentsession();
session.begintransaction();
user u3 = (user)session.get(user.class,54);
if(u3 != null){
u3.setname("lisi");
u3.setage(23);
session.update(u3);
session.gettransaction().commit();
}
/**
* hibernate 实现数据查询(hql查询)
*/
session = hibernateutil.getsessionfactory().getcurrentsession();
session.begintransaction();
query query = session.createquery("from user where age=23"); //此处user是类名,而不是数据库的表名,select * 不写
list
for (user user : users) {
system.out.println(user.getid()+" "+user.getname()+" "+user.getage());
}
}
}
可以 session.CreateSQLQuery(sql语句)
http://blog.csdn.net/yethyeth/archive/2007/05/26/1626868.aspx
能的