hibernate工作原理及流程
来源:互联网 发布:汕头宝美工培训费用 编辑:程序博客网 时间:2024/06/05 11:00
使用hibernate开发了几次小项目,但仍感觉对其理解的不是很到位,在这里写篇博客加深理解。
同学习struts一样,我个人认为要想熟练掌握一个框架,必先理解其原理。如果只是会用而不知其所以然,这跟照葫芦画瓢没什么区别。而且后续深入也会很吃力。
在了解原理前,先来了解下hibernate是一款什么框架,即这款框架存在的意义是什么。hibernate是一款将应用和数据库连接起来的框架,封装了许多对数据库操作的方法,作为java web开发者,可以将其视为升级版的jdbc。下面来看(自画渣图)
从图中可以清晰地看出hibernate在应用中的位置,其主要配置文件有两个,一个是与java bean对象对应的.hbm.xml文件和包含全局映射的hibernate.cfg.xml文件。
其中.hbm.xml文件的数量与bean对象一致,即有多每一个bean对象都对应一个.hbm.xml文件,其作用是将数据库中的实例记录与Bean属性对应起来,包括数据类型,名称等,
如:一个名为Product的java bean.其属性有id, name, price。主键为id,其在数据库中对应的表名为product
<hibernate-mapping package="com.bean"> <class name="Product" table="product"> <id name="id" column="id"> <generator class="native"> </generator> </id> <property name="name" column="name"/> <property name="price" column="price" /> </class> </hibernate-mapping>
这样hibernate才能操作正确的对象。而hibernate.cfg.xml除了负责配置数据库连接等属性,还负责配置.hbm.xml的映射
<hibernate-configuration> <session-factory> <!-- Database connection settings --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8</property> <property name="connection.username">root</property> <property name="connection.password">123</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="current_session_context_class">thread</property> <property name="show_sql">true</property>
<!--是否更新数据库,配置update hibernate会自动帮我们创建数据表-->
<property name="hbm2ddl.auto">update</property> <mapping resource="com/bean/Product.hbm.xml" /> <mapping resource="com/bean/Category.hbm.xml" /> <mapping resource="com/bean/User.hbm.xml" /> </session-factory> </hibernate-configuration>如图配置了Product,Category和User bean对象与数据库的关系映射
阅读全文
0 0
- hibernate工作原理及流程
- Hibernate原理及工作流程
- Struts2+Spring+Hibernate的工作流程及原理(整理的)
- Struts2+Spring+Hibernate的工作流程及原理(整理的)
- Socket工作原理及流程
- Struts2工作原理及流程
- Mapreduce工作原理及流程
- spark原理及工作流程
- Hibernate工作原理及使用
- hibernate工作原理及作用
- Hibernate工作原理及优势
- Hibernate工作原理及优势
- hibernate工作原理及作用
- hibernate工作原理及作用
- hibernate 工作原理及作用
- hibernate工作原理及作用
- hibernate工作原理及作用
- hibernate工作原理及作用
- 使用python在网易爬取股票信息,制作股票分析系统(简易版)
- 2649: 段位计算
- Chapter 6
- Android 播放器
- javascript之window对象
- hibernate工作原理及流程
- STL(十三)map映照容器
- app:mergeDebugResources'
- mysql绿色版安装配置 windows
- MySQL环境变量配置
- getClass()和getSimpleName()的区别和作用
- 由一个自动部署脚本引发的血案。。。This is very likely to create a memory leak
- 关于SEO查询的命令,你知道几个?
- 热修复Tinker