我用的数据库是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=new Product(); 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=new Product(); 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<Product> query=session.createQuery(hql,Product.class); query.setParameter("id", 8); //赋值给id主键 List<Product> list=query.getResultList(); //先把数据查出来 pro=list.get(0);
Transaction trans = session.beginTransaction();
session.delete(pro); //执行删除语句
trans.commit();
3.Hibernate查询数据操作
hql查询
String hql="from Product"; Query<Product> query=session.createQuery(hql,Product.class); List<Product> 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的声明式事务管理来处理
我就不写的那么详细了
来源:https://www.cnblogs.com/qq1272850043/p/6007755.html