关系映射数据库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);

Hibernate 语句总结相关推荐

  1. hibernate语句_如何优化Hibernate EllementCollection语句

    hibernate语句 介绍 Hibernate支持三种数据映射类型 : 基本 (例如String,int), Embeddable和Entity . 通常,数据库行被映射到Entity ,每个数据库 ...

  2. hibernate中持久化对象的生命周期(三态:自由态,持久态,游离态 之间的转换)

    三态的基本概念: 1,  临时状态(Transient):也叫自由态,只存在于内存中,而在数据库中没有相应数据.用new创建的对象,它没有持久化,没有处于Session中,处于此状态的对象叫临时对象: ...

  3. hibernate中持久化对象的生命周期(三态:自由态,持久态,游离态 之间的转换)...

    三态的基本概念: 1,  暂时状态(Transient):也叫自由态,仅仅存在于内存中,而在数据库中没有对应数据.用new创建的对象,它没有持久化,没有处于Session中,处于此状态的对象叫暂时对象 ...

  4. hibernate 基本

    Hibernate 个人总结: 对数据库操作的半成品,封装基本的dml操作,增删改查都实现了很简单的方法,稍微复杂点的可以使用hql语句实现 使用框架步骤: 一.新建一个项目 --- 是不是web都无 ...

  5. spring struts hibernate web.xml配置文件模板

    1.applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans ...

  6. Hibernate三种状态(Transient、Persistent、Detached)各种保存(save,persist,update,saveOrUpdte,merge,flush,lock)区别

    转载地址:http://www.2cto.com/kf/201212/178604.html 一.三种状态(Transient.Persistent.Detached) 在Hibernate中有三种状 ...

  7. 关于Hibernate中的临时态, 持久态, 游离态

    三态的基本概念: 1, 临时状态(Transient):也叫自由态,只存在于内存中,而在数据库中没有相应数据.用new创建的对象,它没有持久化,没有处于Session中,处于此状态的对象叫临时对象: ...

  8. CoreAPI_对象三种状态

    Hibernate三种状态之一:临时状态(Transient):用new创建的对象,它没有持久化,没有处于Session中,处于此状态的对象叫临时对象: Hibernate三种状态之二:持久化状态(P ...

  9. 自定义注解事务课程回顾

    你们对事务的基本原理理解了没有,事务的整个原理,声明式事务的原理,就相当于我完全自动化的,他自动通过扫包或者注解,给我进行实现的,这种方式我们都叫做声明式的,还是不够底层,封装的还不够好,今天就有点难 ...

最新文章

  1. c++引用另一个类的方法_VlookUp函数使用方法,一张表引用另一张表的数据。
  2. 【Step By Step】将Dotnet Core部署到Docker下
  3. 转:【Java并发编程】之十六:深入Java内存模型——happen-before规则及其对DCL的分析(含代码)...
  4. 关于“未结束的字符串常量”
  5. gridcontrol 控件的用法
  6. [再寄小读者之数学篇](2014-04-22 平方差公式在矩阵中的表达)
  7. [Kesci] 预测分析 · 客户购买预测(AUC评估要使用predict_proba)
  8. YARN部件以及执行流程
  9. JavaScript多浏览器兼容
  10. C# 文件读取(一)
  11. dcdc芯片效率不高的原因_影响DC-DC转换器效率的主要因素
  12. 如何使用ARCHART XGantt表示无工作日的日历
  13. Mac更换JDK版本
  14. 移动硬盘无法打开,提示需格式化
  15. 阿虎烧烤的新感悟-O2O你真的会玩吗?
  16. 知道创宇高级威胁情报团队:以APT测绘及APT防御应对高级威胁
  17. hzy 和zsl 的生存挑战
  18. 码蹄集 - MT3029 - 新月轩就餐
  19. 国内被广泛模仿的12个国外网站
  20. POJ 1837 Balance dp

热门文章

  1. maven仲裁机制_maven仲裁机制
  2. 基于java SSM图书管理系统简单版设计和实现
  3. 楚留香手游服务器维护,【楚留香手游】4.27日游戏维护公告
  4. bufferreader readline一次读一行_python中read(),readline(),readlines()的区别
  5. C++ inline内联函数详解
  6. java 各种数据类型的互相转换
  7. 山东大学 2020级数据库系统 实验六
  8. bcb隐藏窗口_BCB隐藏Windows任务栏的方法
  9. python语言中包含的标准数据类型_python标准数据类型(笔记一)
  10. python画图显示不了中文_Python使用matplotlib绘图无法显示中文问题的解决方法