Hibernate_day01--课程安排_Hibernate概述_Hibernate入门
Hibernate_day01
Hibernate课程安排
|
第一天 hibernate入门和基本操作 第二天 hibernate概念和api使用 第三天 hibernate配置一对多和多对多 第四天 hibernate查询操作 |
今天内容介绍
|
1 web内容回顾 (1)javaee三层结构 (2)mvc思想 2 hibernate概述 3 hibernate入门案例 4 hibernate配置文件 5 hibernate的api使用 |
WEB内容回顾
JavaEE三层结构
|
1 web层(视图层):struts2框架 2 service层(业务逻辑层):spring框架 3 dao层(持久化层):hibernate框架 (1)对数据库进行crud操作 |
MVC思想
|
1 model:模型 2 view:视图 3 controller:控制器 |
Hibernate概述
什么是框架
|
1 写程序,使用框架之后,帮我们实现一部分功能,使用框架好处,少写一部分代码实现功能 |
什么是hibernate框架(重点)
|
1 hibernate框架应用在javaee三层结构中 dao层框架 2在dao层里面做对数据库crud操作,使用hibernate实现crud操作,hibernate底层代码就是jdbc,hibernate对jdbc进行封装,使用hibernate好处,不需要写复杂jdbc代码了,不需要写sql语句实现。 3 hibernate开源的轻量级的框架 免费开放源代码,不依赖其他jar包 4 hibernate版本 Hibernate3.x Hibernate4.x Hibernate5.x(学习)
lib:hibernate相关jar包 |
什么是orm思想(重点)
|
1 hibernate使用orm思想对数据库进行crud操作 2 在web阶段学习 javabean,更正确的叫法 实体类 3 orm:object relational mapping,对象关系映射 文字描述: (1)让实体类和数据库表进行一一对应关系 让实体类首先和数据库表对应 让实体类属性 和 表里面字段对应 (2)不需要直接操作数据库表,而操作表对应实体类对象 画图描述:
|
Hibernate入门
搭建hibernate环境(重点)
|
第一步 导入hibernate的jar包
因为使用hibernate时候,有日志信息输出,hibernate本身没有日志输出的jar包,导入其他日志的jar包 不要忘记还有mysql驱动的jar包
第二步 创建实体类
(1)使用hibernate时候,不需要自己手动创建表,hibernate帮把表创建 在SQLyog中创建数据库hibernate_day01 第三步 配置实体类和数据库表一一对应关系(映射关系) 使用配置文件实现映射关系 (1)创建xml格式的配置文件 - 映射配置文件名称和位置没有固定要求 - 建议:在实体类所在包里面创建,实体类名称.hbm.xml (2)配置是是xml格式,在配置文件中首先引入xml约束 - 学过约束dtd、schema,在hibernate里面引入的约束dtd约束
(3)配置映射关系 <hibernate-mapping> 第四步 创建hibernate的核心配置文件 (1)核心配置文件格式xml,但是核心配置文件名称和位置固定的 - 位置:必须src下面 - 名称:必须hibernate.cfg.xml
(2)引入dtd约束
(3)hibernate操作过程中,只会加载核心配置文件,其他配置文件不会加载 第一部分: 配置数据库信息 必须的
第二部分: 配置hibernate信息 可选的
第三部分: 把映射文件放到核心配置文件中
|
实现添加操作
|
第一步 加载hibernate核心配置文件 第二步 创建SessionFactory对象 第三步 使用SessionFactory创建session对象 第四步 开启事务 第五步 写具体逻辑 crud操作 第六步 提交事务 第七步 关闭资源 public class HibernateDemo {
看到效果: (1)是否生成表
(2)看表是否有记录
|
Hibernate_day01--课程安排_Hibernate概述_Hibernate入门的更多相关文章
- Struts2_day01--课程安排_Struts2概述_入门
Struts2_day01 Struts2课程安排 今天内容 Struts2概述 Struts2框架入门 导入源文件 Struts2执行过程 查看源代码 Struts2的核心配置文件 标签packag ...
- Struts2_day03--课程安排_OGNL概述入门_什么是值栈_获取值栈对象_值栈内部结构
Struts2_day03 上节内容 今天内容 OGNL概述 OGNL入门案例 什么是值栈 获取值栈对象 值栈内部结构 向值栈放数据 向值栈放对象 向值栈放list集合 从值栈获取数据 获取字符串 获 ...
- 01Mybatis_课程安排
课程安排: mybatis和springmvc通过订单商品 案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开发)问题总结 mybatis框架原理 (掌握) m ...
- mybatis由浅入深day01_1课程安排_2对原生态jdbc程序中问题总结
mybatis 第一天 mybatis的基础知识 1 课程安排: mybatis和springmvc通过订单商品 案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开 ...
- 中科院 2014年GCT考前辅导课程安排
: 2014年GCT考前辅导课程安排 发布时间: 2014-07-14 阅读次数:1225 默认字体 9pt ...
- SpringMVC由浅入深day02_1课程安排_2包装类型pojo参数绑定_3集合类型绑定
springmvc第二天 高级知识 复习: springmvc框架: DispatcherServlet前端控制器:接收request,进行response HandlerMapping处理器映射器: ...
- 01_Python 基础课程安排
Python 基础课程安排 目标 明确基础班课程内容 课程清单 序号 内容 目标 01 Linux 基础 让大家对 Ubuntu 的使用从很 陌生 达到 灵活操作 02 Python 基础 涵盖 Py ...
- Linux:课程安排、Linux简介、虚拟机安装、课前准备(常用设置和操作)
一.课程安排 1)Linux 的作用 商业服务器基本上都是 Linux: 开源软件都先支持 Linux: 大数据分析.机器学习首先选 Linux: 整个互联网地基靠Linux撑起来: Linux 系统 ...
- cogs——644. 课程安排问题
644. 课程安排问题 ★ 输入文件:curriculum.in 输出文件:curriculum.out 简单对比时间限制:1 s 内存限制:128 MB 问题描述 一个软件专业的学生 ...
随机推荐
- 神经网络中 BP 算法的原理与 Python 实现源码解析
最近这段时间系统性的学习了 BP 算法后写下了这篇学习笔记,因为能力有限,若有明显错误,还请指正. 什么是梯度下降和链式求导法则 假设我们有一个函数 J(w),如下图所示. 梯度下降示意图 现在,我们 ...
- Linux命令-网络命令:write
write只能给登录用户发送消息,所以先登录两个用户root和wangyunpeng root登录: wangyunpeng登录: who 查看登录用户 root发送信息给wangyunpeng: w ...
- Python 爬虫实例(3)—— 爬取今日头条as cp 算法 解密
关于今日头条的 as cp 算法,只是对时间进行了加密,他们的js代码是压缩处理的,正常格式化就可以了 url = "http://www.toutiao.com/api/pc/feed/& ...
- Redis配置和常用命令
redis.conf配置文件: 引用 #是否作为守护进程运行 daemonize yes #配置pid的存放路径及文件名,默认为当前路径下 pidfile redis.pid #Redis默认监听端口 ...
- Java中RunTime类介绍
Runtime 类代表着Java程序的运行时环境,每个Java程序都有一个Runtime实例,该类会被自动创建,我们可以通过Runtime.getRuntime() 方法来获取当前程序的Runtime ...
- 非常简单的一个函数 竟然一直没有使用 find()
find: 在非string类型的容器里,可以直接找出所对应的元素. find函数需要几个参数:迭代器,下标值,所要找的元素 vector<int> a; find(a.begin(),a ...
- Atitit.线程 死锁 跑飞 的检测与自动解除 与手动解除死锁 java c# .net php javascript.
Atitit.线程 死锁 跑飞 的检测与自动解除 与手动解除死锁 java c# .net php javascript. 1. 现象::主程序卡住无反应,多行任务不往下执行 1 2. 原因::使用j ...
- java中null和""的区别
问题一: null和""的区别 String s=null; s.trim()就会抛出为空的exception String s=""; s.trim()就不会 ...
- prompt() 方法
定义和用法 prompt() 方法用于显示可提示用户进行输入的对话框. 语法 prompt(text,defaultText) 参数 描述 text 可选.要在对话框中显示的纯文本(而不是 HTML ...
- Git出现error: Your local changes to the following files would be overwritten by merge: ... Please, commit your changes or stash them before you can merge.的问题解决(Git代码冲突)
在使用git pull拉取服务器最新版本时,如果出现error: Your local changes to the following files would be overwritten by m ...


















