插入数据
删除数据
修改数据
查询单条数据
查询多条数据

HelloWorldApp.java

  1. package cn.itcast.h3.helloworld;
  2.  
  3. import org.hibernate.Session;
  4. import org.hibernate.SessionFactory;
  5. import org.hibernate.Transaction;
  6. import org.hibernate.cfg.Configuration;
  7.  
  8. import cn.itcast.h3.helloworld.vo.UserModel;
  9.  
  10. public class HelloWordApp {
  11. public static void main(String[] args) {
  12.  
  13. //1.加载配置文件hibernate.cfg.xml,得到一个配置对象
  14. Configuration conf = new Configuration().configure();
  15. //2.由配置创建一个SessionFactory
  16. SessionFactory sf = conf.buildSessionFactory();
  17. //3.由SessionFactory得到Session
  18. Session s = sf.openSession();
  19. //4.由Session对象获取事务对象Transaction
  20. Transaction t = s.beginTransaction();
  21. //5.完成任务
  22. //5.1创建一个要存储的对象
  23. UserModel um = new UserModel();
  24. um.setUuid("1");
  25. um.setUserName("李若亮");
  26. um.setAge(34);
  27. um.setAddress("传智播客");
  28. //5.2保存
  29. s.save(um);
  30.  
  31. //6.提交事务
  32. t.commit();
  33. //7.关闭Session
  34. s.close();
  35. //8.关闭SessionFactory(略)
  36. sf.close();
  37.  
  38. }
  39. }

BaseOperApp.java

  1. package cn.itcast.h3.helloworld;
  2.  
  3. import java.util.List;
  4.  
  5. import org.hibernate.Query;
  6. import org.hibernate.SQLQuery;
  7. import org.hibernate.Session;
  8. import org.hibernate.SessionFactory;
  9. import org.hibernate.Transaction;
  10. import org.hibernate.cfg.Configuration;
  11.  
  12. import cn.itcast.h3.helloworld.vo.UserModel;
  13.  
  14. public class BaseOperApp {
  15. //测试插入数据
  16. void testAdd(){
  17. Configuration conf = new Configuration().configure();
  18. SessionFactory sf = conf.buildSessionFactory();
  19. Session s = sf.openSession();
  20. Transaction t = s.beginTransaction();
  21.  
  22. //1.准备一个要添加的数据
  23. UserModel um = new UserModel();
  24. um.setUuid("3");
  25. um.setUserName("李若亮");
  26. um.setAge(34);
  27. um.setAddress("传智播客");
  28. //2.调用save方法
  29.  
  30. String res = (String) s.save(um);
  31. System.out.println(res);
  32.  
  33. t.commit();
  34. s.close();
  35. }
  36. //测试修改数据
  37. void testUpdate(){
  38. Configuration conf = new Configuration().configure();
  39. SessionFactory sf = conf.buildSessionFactory();
  40. Session s = sf.openSession();
  41. Transaction t = s.beginTransaction();
  42.  
  43. //1.准备一个要添加的数据
  44. UserModel um = new UserModel();
  45. um.setUuid("3");
  46. um.setUserName("Jock");
  47. um.setAge(34);
  48. um.setAddress("itcast");
  49. //2.调用update方法
  50. s.update(um);
  51.  
  52. t.commit();
  53. s.close();
  54. }
  55. //测试删除数据
  56. void testDelete(){
  57. Configuration conf = new Configuration().configure();
  58. SessionFactory sf = conf.buildSessionFactory();
  59. Session s = sf.openSession();
  60. Transaction t = s.beginTransaction();
  61.  
  62. //1.准备一个要添加的数据
  63. UserModel um = new UserModel();
  64. um.setUuid("1");
  65. //2.调用delete方法
  66. s.delete(um); //um对象只要有uuid就可以了
  67.  
  68. t.commit();
  69. s.close();
  70. }
  71. //测试单个数据
  72. void testQueryOne(){
  73. Configuration conf = new Configuration().configure();
  74. SessionFactory sf = conf.buildSessionFactory();
  75. Session s = sf.openSession();
  76. //1.查询单个数据需要依赖主键进行查询
  77. //2.get(模型类.Class,uuid)方法得到一个对象,这个对象被包装成了Class格式
  78. //3.load(模型类.Class,uuid)方法得到一个对象,这个对象被包装成了Class格式
  79. UserModel um = (UserModel) s.load(UserModel.class, "3");
  80. System.out.println(um);
  81. s.close();
  82. }
  83. //测试全部数据
  84. void testQueryAll(){
  85. Configuration conf = new Configuration().configure();
  86. SessionFactory sf = conf.buildSessionFactory();
  87. Session s = sf.openSession();
  88. //1.获取Query对象
  89. //创建Query对象时,需要使用Hibernate专用的查询语句HQL
  90. String hql = "from UserModel";
  91. Query q = s.createQuery(hql);
  92. //2.将结果查询出来,使用list方法,得到一个查询的结果集合
  93. List<UserModel> queryList = q.list();
  94. for(UserModel um:queryList){
  95. System.out.println(um);
  96. }
  97. s.close();
  98. }
  99. //测试全部数据2
  100. void testQueryAll2(){
  101. Configuration conf = new Configuration().configure();
  102. SessionFactory sf = conf.buildSessionFactory();
  103. Session s = sf.openSession();
  104.  
  105. //1.使用本地SQL语句查询
  106. String sql = "select * from tbl_user";
  107. //2.使用SQL查询,需要使用SQLQuery对象,该对象使用Session获得
  108. SQLQuery sq = s.createSQLQuery(sql);
  109. //3.查询结果也可以使用list将结果封装成一个集合
  110. List<Object[]> queryList = sq.list();
  111. for(Object[] objs: queryList){
  112. for(Object obj:objs){
  113. System.out.println(obj);
  114. }
  115. System.out.println("------------------");
  116. }
  117.  
  118. s.close();
  119. }
  120.  
  121. public static void main(String[] args) {
  122. new BaseOperApp().testQueryAll2();
  123. }
  124. }

hibernate框架学习之增删改查helloworld的更多相关文章

  1. hibernate关联对象的增删改查------查

    本篇博客是之前博客hibernate关联对象的增删改查------查 的后继,本篇代码的设定都在前文已经写好,因此读这篇之前,请先移步上一篇博客 //代码片5 SessionFactory sessi ...

  2. Spring JdbcTemplate框架搭建及其增删改查使用指南

    Spring JdbcTemplate框架搭建及其增删改查使用指南 前言: 本文指在介绍spring框架中的JdbcTemplate类的使用方法,涉及基本的Spring反转控制的使用方法和JDBC的基 ...

  3. Struts2+Spring+Hibernate实现员工管理增删改查功能(一)之ssh框架整合

    前言        转载请标明出处:http://www.cnblogs.com/smfx1314/p/7795837.html 本项目是我写的一个练习,目的是回顾ssh框架的整合以及使用.项目介绍: ...

  4. Hibernate进行对象的增删改查

    首先我们看看hibernate手动配置步骤 (这个了解一点就可以了,以后是不会自己全部手动配置的) 1.    创建WEB项目 2       下载hibernate-release-4.3.11.F ...

  5. SSHE框架整合(增删改查)

    1.前期准备:jar包(c3p0.jdbc ,各个框架) web.xml文件:spring的   转码的,和Struts2的过滤器 <?xml version="1.0" e ...

  6. hibernate关联对象的增删改查------增

    本文可作为,北京尚学堂马士兵hibernate课程的学习笔记. 这一节,我们看看hibernate关联关系的增删改查 就关联关系而已,咱们在上一节已经提了很多了,一对多,多对一,单向,双向... 其实 ...

  7. JDBC学习笔记——增删改查

    1.数据库准备  要用JDBC操作数据库,第一步当然是建立数据表: ? 1 2 3 4 5 6 CREATE TABLE `user` (   `id` int(11) NOT NULL AUTO_I ...

  8. Hibernate入门案例及增删改查

    一.Hibernate入门案例剖析: ①创建实体类Student 并重写toString方法 public class Student { private Integer sid; private I ...

  9. 快速入门GreenDao框架并实现增删改查案例

    大家的项目中不可避免的使用到SQLite,为此我们要花费心思编写一个增删改查框架.而一个好的ORM框架则能够给我们带来极大的方便,今天给大家讲解一个非常火热的ORM-GreenDao. 基本概念 Gr ...

随机推荐

  1. 3、JPA-API

    Persistence Persistence 类用于获取 EntityManagerFactory 实例,该类包含一个名为 createEntityManagerFactory 的静态方法 . cr ...

  2. sc (service control )

    SC 是用来与服务控制管理器和服务进行通信 net: net start 服务名 net stop 服务名 sc: sc config 服务名 start= demand    //手动 sc con ...

  3. Maccms8.x 命令执行漏洞分析

    下载链接https://share.weiyun.com/23802397ed25681ad45c112bf34cc6db 首先打开Index.php $m = be('get','m'); m参数获 ...

  4. Mongodb aggregation 基本操作示例

    MongoDB二个主要的操作:一个是查询,另一个是统计.对于查询而言,主要是find()方法,再配合Filters组合多个查询条件. 对于统计而言,则主要是aggregate操作,比如 group.s ...

  5. Left join update和 ROW_NUMBER

    (1)Left join 更新update a set a.name=b.name from a left join b on a.id=b.stuid(2)ROW_NUMBERselect ROW_ ...

  6. 使用 CROSS APPLY 与 OUTER APPLY 连接查询

    Ø  前言 日常开发中遇到多表查询时,首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等,但是这两种查询有时候不能满足需求.比如,左表一条关联右表多条记录时,我需要控制右表的某 ...

  7. Docker(五)如何构建Dockerfile

    摘自 https://mp.weixin.qq.com/s/_hq9dPe6390htN8BTkoQeQ 一.Dockerfile的指令集 由于Dockerfile中所有的命令都是以下格式:INSTR ...

  8. vue-组件命名

    vue的组件命名,不能带有大写字母. 正确的写法: components:{ 'myder':av } 错误写法: components:{ 'myDer':av }

  9. 数据库截取字符串SUBSTR函数的使用

    背景 今天中午做需求的时候,有类似于根据银行卡卡号的前几位判断出是哪个银行的情况,每个银行需要截取的位数都不一样,这时我就想到了SUBSTR 数据库截取字符串SUBSTR函数的使用 假设有一个表的结构 ...

  10. python之实现循环查看指定路径下的所有文件---os.walk

    循环查看指定路径下的所有文件.文件夹,包含隐藏文件注:“.filename” 以点开头的是隐藏文件 import os for cur_path,cur_dirs,cur_files in os.wa ...