Hibernate 学习经验之谈-(一) 初始配置
来源:互联网 发布:室内装修效果设计软件 编辑:程序博客网 时间:2024/06/05 11:48
运行环境: MySQL5.6 Hibernate 4.3.7 发布版
IDE: MyEclipse for Spring
序言:
小编之前比较仓促的学习了SSH 框架并开始开发了一些小项目,因为那时候时候是看着马士兵比较旧的视频学习的,但是自己使用的4.3.7发行版。新版跟视频中的旧版配置或多或少有点出入。现在有时间重温一下Hibernate 的技术,重新加强一下自己的基础,故开始编写Hibernate 学习经验之谈一系列的文章。如果文章中有什么不妥之处,望各路大神斧正。
学习一个技术,往往最权威的教课书就是官方文档了,接下来的这一系列的博客,都会依据官方文档来进行一个学习。虽然重温,对于初学者可以尝试阅读本系列博客,希望能够给大家一些帮助。
在项目中我主要使用的配置方式是:注解配置,弱xml配置,所以对注解不太了解的博友,要靠自己补一下了,不对注解进行太多说明,毕竟这是针对个人学习过程笔记类博客。
干货;
一.配置hibernate 环境
官方文档的配置方式是采用maven 来进行搭建hibernate 环境的,但是如果现在夹杂太多hibernate 之外的知识恐怕对于不了解maven 的博友会多一点障碍,所以采用原始的手动加包的方式:
1.到官网下载开发包:http://hibernate.org/orm/documentation/;
2.加入lib 目录下required 文件夹下的所有包;
3.当然也不能缺少jdbc 驱动的包了;
通过以上步骤就能搭建起初步我们需要使用的Hibernate 使用环境了。
二.开始一个简单的hello world 程序
1.查看官方文档中关于配置Hibernate 的描述,并且开始配置hibernate.cfg.xml
http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch01.html#tutorial-firstapp-configuration
在里面你可以得到一个怎样写一个hibernate.cfg.xml 的文档应该怎样写,copy it!新建一个hibernate.cfg.xml 放到你的项目src 目录下面中去,然后进行修改,以满足自己的需求。
我的项目结构
(1)修改我们的jdbc 链接信息
这里的话我们使用jdbc 来做链接,所以按 jdbc 的写法填写内容就行了。
里面有关于数据库访问设置的内容:
(2)修改我们的本地数据库的方言
方言是指,当你使用HQL(hibernate的官方查询语言)进行查询的时候,hibernate 会帮你自动转换成你所用的数据库的语言。其中使用的值的话可以参考官方文档
http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch03.html#configuration-optional-dialects
其中可以看到MySQL 就有很多种,在官方文档中似乎没有对其中的信息进行说明,我们可以通过网上一篇博客了解一下其中的区别
(3)方便调试的属性配置 show_sql 和format_sql
show_sql是当执行sql语句的时候,展示出来,fomat_sql 是把输出的语句进行格式化一下。
(4)hibernate 的hbm2ddl 配置
这个配置是有create,update,create-drop ;
http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch03.html#configuration-optional 这里面有官方的简单解释,但是其中的区别是什么最好动手验证看看。
SessionFactory
is created.create ---每次sessionFactory 建立好的时候,会进行自动先移除原有实体表,重新建立新的表。
update ---每次建立成功sessionFactory 的时候,对原有的的表不移除,对没有的表进行新建。
常用的就是以上的内容;
(5)注解方式添加实体配置
在第一步配置环境的时候可以看到,hibernate4已经在必须的包含了注解包,我们可以直接使用这种方式开始进行实体映射。
完整的配置文件
2.实体映射
3.获取sessionFactory 的工具类
4..测试代码
- Hibernate 学习经验之谈-(一) 初始配置
- Hibernate 学习经验之谈-(四)关联映射
- hibernate初始配置
- maven经验之谈(一)
- 成长经验之谈(一)
- hibernate基本概念及初始配置
- 初始Hibernate-配置、映射篇
- Quartz学习(一)--初始Quartz
- 学习android的初始阶段(一)
- C++学习篇(一)---初始C++
- Flume学习(一)Flume初始
- java【学习笔记(一)】初始类
- Python学习之初始(一)
- openCV学习笔记(一)---初始openCV
- Hibernate经验之谈
- Hibernate学习小结(一)――Hibernate配置
- ArcGIS桌面经验之谈(一)
- hibernate 学习一——配置hibernate
- session,param,cookie使用分析
- nodeJs启动的时候:Error: Cannot find module '../build/Release/bson'的解决办法
- leetcode 日经贴,Cpp code -Delete Node in a Linked List
- 2012年5月SAT香港真题解析
- Eclipse中配置Tomcat服务器
- Hibernate 学习经验之谈-(一) 初始配置
- codeforces 558 C Amr and Chemistry
- 【LintCode】 Compare Strings 比较字符串
- HDU 1754 解题报告 线段树 单点更新
- 基于JAVA的SNS系统ConcourseConnect
- 如何用Mac给移动硬盘分区
- Nginx负载均衡配置实例详解
- U3D 接facebook
- Mongodb 副本集