Hibernate学习过程-1-创建第一个Hibernate-CURD项目
提笔之际
经过半年间断性地学习JavaSE, 到了本月,刚好系统地学完了JavaSE中的内容,Java是我第二个系统地学习完的编程语言,我的第一门系统地学完的编程语言是PHP;既然 JavaSE基础知识学完了,那么便要开始接触一些流行的Java开发时可能会使用框架了;于是就往图书馆跑,一眼看到Hibernate并喜欢上了它; 于是,弃用Eclipse,装上高大上的MyEclipse 2014,好戏开场了~
Hibernate简介
ORM的概念
O: Object 对象
R: Ralationship 关系
M: Mapping 映射
把一个关系型的数据库描述成一个对象,通过映射的方式
jdbc的缺点
1、代码比较繁琐
2、sql语句平台的移植性不是很强
3、没有data pool(数据缓存)
4、当jdbc调用mysql的存储过程的时候,存储过程本身移植性比较差
5、没有做到面向对象开发
hibernate优点
1、面向对象的编程
2、代码比较简单
3、具有缓存:一级缓存、二级缓存、查询缓存 命中率的概念
4、移植性比较强
hibernate的缺点
1、支持的分布式事务比较弱
2、如果一张表的数据有千万级别,不适合用hibernate来做
3、如果表之间的关系相当复杂,不适合用hibernate来做
导入jar包(可省略)
下图列的是常用包,红点表示必备包;
将工程转换为Hibernate工程
选择Hibernate版本:
可以不Create SessionFactory class,因为后面我们自己写一个
配置数据库连接(或者取消Specify database…前面的勾勾,暂不配置数据库连接)
导入Hibernate常用类库(若前面已导入jar包,则无需再导入,即去除所有勾勾),
这里使用了MySQL数据库,所以还要额外导入mysql-connector-java-5.1.10-bin.jar
finish向导后创建一个数据库
编辑Hibernate配置文件:
如果前面没有配置数据库连接,那么点击Db Driver右侧的new按钮创建一个Driver,勾选上Save password就是记住密码;
在Properties中Add一个property:
到了这里,Hibernate的配置就差不多完成了,接下来对Hibernate的配置文件做个解释
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<!--
一个sessionFactory就代表一个数据库的描述
-->
<session-factory>
<!-- 链接数据库的用户名 -->
<property name="connection.username">hibernate</property>
<!-- 链接数据库的密码 -->
<property name="connection.password">test</property>
<!-- 链接数据库的驱动 -->
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- 链接数据库的url -->
<property name="connection.url">
jdbc:mysql://localhost:3306/hibernate_test
</property>
<!--
方言
告诉hibernate用什么样的数据库,将来会生成什么样的sql语句
-->
<property name=&#