首先,介绍一下haibernate。hibernate本来的意思是Let Java objects hibernate in the relational database(让java对象在关系书库中冬眠),也就是实现java对在关系数据库中的持久化管理。

Hibernate 是Java应用和关系数据库之间的桥梁,负责Java对象和关系数据库之间的映射的ORM中间件。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java开发人员可以随心所欲的使用对象编程思维来操纵数据库。简单的说就是:  
  1.封装了通过JDBC访问数据库操作。  
  2.向上层应用提供访问面向对象数据访问的API。

下面介绍一下hibernate类的常用操作。

  1. /*
  2. *具体操作hibernate的类
  3. *增加,删除,修改,按ID查询,模糊查询,查询全部
  4. **/
  5. public class PersonOperate {
  6. //在hibernate中所有操作都是由Session完成
  7. public Session session = null;
  8. //在构造方法中实例化Session对象
  9. public PersonOperate(){
  10. //找出hibernate的配置
  11. Configuration config = new Configuration().configure();
  12. //从配置中取出SessionFactory
  13. SessionFactory sf = config.buildSessionFactory();
  14. //从SessionFactory中取出Session
  15. this.session = sf.openSession();
  16. }
  17. //操作Hibernate类的所有操作都是通过Session完成的
  18. //增加数据库中数据
  19. public void insert(Person person){
  20. //开始事务
  21. Transaction tran =    session.beginTransaction();
  22. //执行语句
  23. session.save(person);
  24. //提交事务
  25. tran.commit();
  26. session.close();
  27. }
  28. //操作Hibernate类更改数据库中的数据
  29. public void update(Person person){
  30. //开始事务
  31. Transaction tran =    session.beginTransaction();
  32. //执行语句
  33. session.update(person);
  34. //提交事务
  35. tran.commit();
  36. }
  37. /*操作Hibernate类:按ID查询
  38. *我们插入,修改都是对对象进行操作
  39. *那么我们查询的时候也应该是返回一个对象
  40. **/
  41. public Person queryById(String id){
  42. System.out.println(id);
  43. Person person = null;
  44. //hibernate查询语句
  45. String hql = "FROM Person as p WHERE p.id = ?";
  46. Query q = session.createQuery(hql);
  47. q.setString(0, id);
  48. List list = q.list();
  49. Iterator iteator = list.iterator();
  50. if(iteator.hasNext()){
  51. person = (Person)iteator.next();
  52. }
  53. return person;
  54. }
  55. /*操作Hibernate类:删除数据库中数据
  56. *hiberante2,hibernate3中通用的删除方法
  57. *缺点:删除数据之前要先查询一次数据,找出删除的数据对象
  58. *性能低下
  59. **/
  60. public void delete(Person person){
  61. //开始事务
  62. Transaction tran =    session.beginTransaction();
  63. //执行语句
  64. session.delete(person);
  65. //提交事务
  66. tran.commit();
  67. }
  68. //hibernate3的用法
  69. public void delete(String id){
  70. //开始事务
  71. Transaction tran =    session.beginTransaction();
  72. String hql = "DELETE Person WHERE id = ?";
  73. Query q = session.createQuery(hql);
  74. q.setString(0, id);
  75. //执行更新语句
  76. q.executeUpdate();
  77. //提交事务
  78. tran.commit();
  79. }
  80. //操作Hibernate类:查询全部数据
  81. public List queryAll(){
  82. List list = null;
  83. String hql = "FROM Person as p ";
  84. Query q = session.createQuery(hql);
  85. list = q.list();
  86. return list;
  87. }
  88. //操作Hibernate类:模糊查询
  89. public List queryByLike(String colnum,String value){
  90. List list = null;
  91. String hql = "FROM Person as p WHERE p."+ colnum +" like ?";
  92. Query q = session.createQuery(hql);
  93. q.setString(0, "%"+ value +"%");
  94. list = q.list();
  95. return list;
  96. }
  97. }

转载于:https://www.cnblogs.com/flyingzqx/archive/2009/12/11/1621638.html

用hibernate类实现数据库的基本操作相关推荐

  1. Qt实战案例(28)——利用QSQL相关类实现对MySQL数据库的基本操作及相关设置详解

    目录 一.项目介绍 二.项目基本配置 2.1 安装MySQL 2.2 创建Qt项目 2.3 移动libmysql.dll文件 三.UI界面设计 四.主程序实现 4.1 pro文件 4.2 main.c ...

  2. JDBC编程:2(数据库的基本操作)

    数据库的基本操作 查询数据 在开始前先简单地介绍一下什么是静态SQL和动态SQL: 静态SQL,在编译阶段就可以确定数据库要做什么事情.在某种高级语言中,如果嵌入了SQL语句,而这个SQL语句的主体结 ...

  3. 图文教程:使用MyEclipse的hibernate工具从数据库反向生成实体Bean

    为什么80%的码农都做不了架构师?>>>              本文介绍如何使用MyEclipse的hibernate工具从数据库反向生成实体Bean. 一.打开MyEclips ...

  4. 使用hibernate自动生成数据库表

    使用hibernate自动生成数据库表 使用hibernate自动生成数据库表在hibernate3.2以后有两种方式: 1,使用hbm.xml形式:2,使用注解的形式. 本文介绍第一种方式: IDE ...

  5. Hibernate用Mysql数据库时链接关闭异常的解决

    在一个项目中,客户要求除操作系统外全部使用免费软件,因此我使用了Mysql 4.0作为数据库服务器,其JDBC驱动为3.0.9版本,在给客户安装后调试一切正常.可是到了第二天,只要一登录就提示&quo ...

  6. TP框架对数据库的基本操作

    数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是对数据的增删改的操作,一步步的讲述一下框架对数据库的操作 想要操作数据库,第一步必然是要:链接数据库 一.链接数据库 (1)找 ...

  7. Hibernate连接mysql数据库并自动创建表

    天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个 ...

  8. 1-1 MySQL数据库的基本操作 【增删改查】

    1-1 MySQL数据库的基本操作 [增删改查] 一.基础操作 创建数据库 查看数据库 选择数据库 删除数据库 二.建立一个基础数据库 三.基本操作 外键约束与字段自增 数据的增删改 数据查询 数据排 ...

  9. 易语言逐条读access数据_[原创]用易语言对ACCESS数据库进行基本操作

    用易语言对ACCESS数据库进行基本操作 本人弄这个例程前,对数据库知道的不多,仅会一些简单的操作,根本不懂SQL的命令,可以说,在这方面的知识就是一空二白. 在易语言的论坛里,我能找到许多关于易语言 ...

最新文章

  1. 2022-2028年中国酱腌菜行业市场研究及前瞻分析报告
  2. 把Vi改造成Vim的作者,现在又让Vim快了70倍
  3. 设置IE安全并打开自动仿冒网站筛选器和IE安全设置
  4. include的两种形式、CPP的搜索路径
  5. 1、MySQL为什么需要事务?
  6. MySQL中的组函数(聚合函数)
  7. 一个springboot能支持多少并发_吃透这篇,你也能搭建出一个高并发和高性能的系统...
  8. 标示符和关键字的总结--希望别再犯错
  9. primefaces_Primefaces CommandLink
  10. springmvc 需要用到的核心jar包
  11. C6748和音频ADC连接时候的TDM以及I2S格式问题
  12. VirtualBox安装VBoxGuestAdditions增强功能
  13. 【课程·研】高级人工智能 | MOOC习题及课后作业:期末考试
  14. MSM8937系统启动流程【转】
  15. ggplot2的中文显示
  16. Java游戏项目之坦克大战
  17. 华为二手价格表(最新2022.2.16)
  18. Arduino压电震动传感器
  19. 2020-4-20训练赛
  20. Oracle GoldenGate Monitor agent安装后的报错OGGMON-20603

热门文章

  1. VS-设置签出独占锁
  2. 增加VirtualBox虚拟机的磁盘空间大小(Host:Win7 VirtualBox5.0.16 VM:Win10)
  3. sqlmap注入检测经验0x01
  4. 项目-团队-技术-个人(专业篇)
  5. [转载]Programming MS Office 2000 Web Components第二章第三节
  6. 什么是k-NN算法?怎样实现?终于有人讲明白了
  7. Cortex-M3异常
  8. python svm 决策方程_python – 使用scikit-learn线性SVM提取决策边界
  9. 学会这几招,晋升不慌了!
  10. 所有和Java中代理有关的知识点都在这了。