hibernate如何实现数据库的一些操作

对表的操作

包括新建表,删除表,查询表中的数据,修改表中的数据,往表中添加数据,如果表中又增加了一个字段怎么实现。

对表中数据的操作:

    //创建sessionSessionFactory sf=new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();Session session = sf.openSession();//创建transaction并开始session.beginTransaction();//执行操作,包括添加,修改,删除,查询//1.添加User user=new User();user.setId(3);user.setName("test");user.setPassword("111");session.save(user);//提交事务.把内存的改变提交到数据库上.session.getTransaction().commit();//2.修改User user1=new User();user.setId(3);user.setName("newtest");session.update(user);//提交事务.把内存的改变提交到数据库上.session.getTransaction().commit();//3.删除User user2=new User();user.setId(3);session.delete(user);//提交事务.把内存的改变提交到数据库上.session.getTransaction().commit();//4.查询Query query=session.createQuery("from User");List userlist=query.list();for(int i=0;i<userlist.size();i++){User t=(user) userlist.get(i);}

对表本身的操作,比如根据映射文件生成一张新的表,删除一张表。

在hibernate配置文件中添加,将会在更新和查询时如果找不到表会自动创建表,但一定要注意映射文件要写对,包括对主键的设置,如果不正确将不能穿件表。

<!-- 根据映射文件自动生成数据库中的表 -->
<property name="hibernate.hbm2ddl.auto">update</property>
<mapping resource="com/hainan/cs/hbm/User.hbm.xml"/><mapping resource="com/hainan/cs/hbm/NewUser.hbm.xml"/>

update:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺少表,则自动建表;如果表里缺少列,则自动添加列。

还有其他的参数:
create:启动hibernate时,自动删除原来的表,新建所有的表,所以每次启动后的以前数据都会丢失。

create-drop:启动hibernate时,自动创建表,程序关闭时,自动把相应的表都删除。所以程序结束时,表和数据也不会再存在。

PS:数据库要预先建立好,因为hibernate只会建表,不会建库

出现Hibernate: insert into NewUser (name, password, email, age, birthday, userid) values (?, ?, ?, ?, ?, ?)是因为没有commit,session.getTransaction().commit();数据库表中也不会有相应的数据

现在可以看到数据库中有显示了

之一主键<generator class="uuid">值的是由hibernate自动生成主键,所以看到的userid是那样的

hibernate操作数据库相关推荐

  1. 使用Hibernate操作数据库

    2019独角兽企业重金招聘Python工程师标准>>> 一.加载数据库. 1. 使用get()方法. package com.hibernate.dao;import org.hib ...

  2. Hibernate操作数据库步骤(包括语法)

    (1)读取并解析配置文件 Configuration conf = new Configuration().configure(); (2)读取并解析映射文件,创建SessionFactory Ses ...

  3. 通过Ant控制Hibernate操作数据库

    本文通过Ant扩展Hibernate的发布数据库功能.具体实现功能包括:根据Hibernate的配置文件创建数据库表结构.清空表中数据.加载预定义的数据.更新表结构.   一.配置分析     1.  ...

  4. Hibernate→ORM、简介、第一个Hibernate实现、核心XML配置、Hibernate执行流程、操作数据库对象session、事务、映射XML配置、单例CRUD、get与load

    OMR Hibernate 官网 http://hibernate.org/ 第一个Hibernate实现 配置文件 持久化类 关系映射文件 测试类 代码 hibernate.cfg.xml常用配置 ...

  5. Spring+SpringMVC+Hibernate整合操作数据库 概述

    概述 Hibernate是一款优秀的ORM框架,能够连接并操作数据库,包括保存和修改数据.Spring MVC是Java的web框架,能够将Hibernate集成进去,完成数据的CRUD.Hibern ...

  6. SQLite-Java-Hibernate类似hibernate的数据库辅助工具

    sqlite-annotation-convention and sqlite-java-tool http://pan.baidu.com/s/1eQuwa34 最近一直在做毕业设计,之前用过Hib ...

  7. boot spring test 文档_SpringBoot入门建站全系列(五)使用Spring-data-jpa操作数据库

    SpringBoot入门建站全系列(五)使用Spring-data-jpa操作数据库 SpringBoot操作数据库有多种方式,如 JDBC直接操作:太古老了,没人愿意这样玩 Mybatis插件:比较 ...

  8. 理解Java操作数据库原理

    2019独角兽企业重金招聘Python工程师标准>>> 参考:https://blog.csdn.net/xiaozhegaa/article/details/70208646 上面 ...

  9. Java操作数据库方式五MyBatis使用入门

    ##概述 ##MyBatis是什么 MyBatis是一个持久层框架,作用是在java项目中操作数据库. ##MyBatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年 ...

最新文章

  1. SAP中的KANBAN
  2. vue $emit $on 非父子非兄弟组件传值
  3. 上海网络推广为大家讲解细节标签能给网站带来的作用与效果!
  4. 机器学习知识点(六)增广矩阵求解拉格朗日乘子法的Java实现
  5. 兰州大学第一届『飞马杯』程序设计竞赛 - ★★飞马祝福语★★(动态dp)
  6. php.ini详细介绍与设置,配置
  7. 不用图片而用css3实现一些阴影特效
  8. centos7.0查看IP
  9. Asp.net 2.0 自定义控件开发专题讲解[为用户控件增加DataSource属性, 能够自动识别不同数据源](示例代码下载)...
  10. php发布文章时 未定义索引,php – 上传文件时未定义的索引
  11. Aloha:一个分布式任务调度框架
  12. Kettle下载国内镜像
  13. el-dialog中el-select的层级问题
  14. win10安装VMware PowerCLI
  15. Android实现网页动态背景“五彩蛛网”
  16. 全球围剿下,苹果还能挺多久?
  17. 输入直角三角形的两个直角边的长度 a、b,求斜边 c 的长度。
  18. AcWing寒假每日一题2058. 笨拙的手指
  19. PHP7+MySql开发的视频点播程序,知识付费系统
  20. 陶陶摘苹果(升级版)

热门文章

  1. 【chrome插件】web版微信接入图灵机器人API实现自动回复
  2. jquery利用appendTo动态创建元素
  3. javascript基础知识总结
  4. HLG 数字去重和排序II【二叉排序树】
  5. 用Asp.Net c#写的采集小例子
  6. Redis知识点笔记总结
  7. 物联网卡封卡原因有哪些
  8. MySQL存储过程 — 解析 XML 数据并实现插入操作
  9. offset must be non-negative and no greater than buffer length (0)(tensorflow.keras)
  10. android左右滑动fragment,Android基于ViewPager+Fragment实现左右滑屏效果的方法