hql删除mysql语句_Hibernate增删查改语句

我用的数据库是MySQL,实体类叫Product

create table Product (

proId integer not null auto_increment,

proName varchar(50) not null,

proPrice float not null,

proCount integer not null,

proDesc varchar(250) not null,

primary key (proId)

)

1.Hibernate添加数据操作

Product product=newProduct();

product.setProName("空调");

product.setProPrice("1888");

product.setProCount("50");

product.setProDesc("变频空调");

Transaction trans = session.beginTransaction();

session.save(product);

trans.commit();     //任何有关数据库更新的操作都是commit后进数据库的

2.Hibernate删除数据操作

对象删除

Transaction trans =session.beginTransaction();

Product pro=newProduct();

pro.setProId(8);  //用下面那句注释的语句效果也是一样的//Product pro = (Product)session.get(Product.class, 8);

session.delete(pro);

trans.commit();

注意,只能通过id来删除数据,不能通过title或content来删除,会报缺少标示符错误。

hql语句删除

String hql="from Product where ProId=:id";

Query query=session.createQuery(hql,Product.class);

query.setParameter("id", 8); //赋值给id主键

List list=query.getResultList(); //先把数据查出来

pro=list.get(0);

Transaction trans =session.beginTransaction();

session.delete(pro);//执行删除语句

trans.commit();

3.Hibernate查询数据操作

hql查询

String hql="from Product";

Query query=session.createQuery(hql,Product.class);

List list=query.getResultList();

HQL是Hibernate主推的查询方式,和普通SQL语句也比较接近,但很重要一点不同就是HQL中from后面的是JAVA类名,不是库表名,切忌!!!如果查询全字段 "select *" 可以省略不写。

4.Hibernate修改数据操作

//第二个参数是要修改的主键

Product product=session.get(Product.class,8);

product.setProName("空调");

product.setProPrice("1888");

product.setProCount("100");

product.setProDesc("变频空调");

Transaction trans = session.beginTransaction();

session.update(product);

trans.commit();

其实这些事务的开启关闭以及session的关闭都可以交给Spring的声明式事务管理来处理

我就不写的那么详细了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值