Hibernate 语句总结

关系映射数据库Hibernate使用详解:

  1. 在hql语句中,from后面接的不是表名,是实体名,from User 注:User是实体名,不是数据库中的表名。

  2. 查询并返回表中的数量:

String sql = "select count(*) as 书的总数 from Book";
//返回的是list集合类型
List list = this.getHibernateTemplate().find(sql);

*//注:Number类是Integer、Long、Byte、Double、Float、Short的父类,因此使用Number类是不会报数据类型转换错误的。--用的放心、用的安心--*

Number num = (Number) list.get(0);  
return num.intValue();

3、查询表的所有字段和类型:

show columns from table; 

4、 Hibernate更新表字段的操作:
首先根据id或者表中主键获得表,然后把要更新的字段set进去,最后执行update操作。

public void updateUser(int id,String username,String password) {
	User user=this.getHibernateTemplate().get(User.class,id);
	user.setUsername(username);
	user.setPassword(password);
	this.getHibernateTemplate().update(user);
}

5、 Hibernate删除表字段的操作:先获得要进行删除的表,然后执行delete操作。

public void deleteUser(int id){
	User user=this.getHibernateTemplate().get(User.class,id);
	this.getHibernateTemplate().delete(user);
}

6、分页实现:因为Hibernate中不支持limit关键字,它有专门的语句去代替limit。setFirstResult()表示从第几条数据开始,setMaxResults()是表示需要几条数据。具体实现如下代码:

//pageSize表示一页有多少条数据
String sql = "from Book";
Query query = session.createQuery(sql);
query.setFirstResult(1);
query.setMaxResults(pageSize);

--------我是不及格的分割线--------
//如果需要在分页中传值,例如:
String sql = "from Book where bookname= ?";
Query query = session.createQuery(sql);
query.setString(0, bookname);
query.setFirstResult(1);
query.setMaxResults(pageSize);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值