所有资料打包下载:有需要的可以下载
网址的话等我把所有的案例写完之后再贴上来把
一、什么是Hibernate?
【多嘴一句】java 学习心得,希望各位初学者在学习的时候能把着重把握住一点,”【what】 【how】,【why】“,以这个Hibernate框架为例子。【what:】建议可以指出它是用在哪里的: hibernate框架应用在javaee三层结构中 dao层框架。它是一个开放源代码的全自动对象关系映射(ORM)框架。【Why】hibernate底层代码就是jdbc,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。使用hibernate好处,不需要写复杂jdbc代码了,不需要写sql语句实现。【What:具体如何使用下面会讲】
自此,我们就了解了什么是hibernate。当别人问你什么是hibernate的时候,第一段话全部说出来就可以了。其实在学习的过程中,我也是去查百度百科得来的。如果说你不懂什么是ORM思想的话,建议你可以看这篇文章,有讲到ORM思想
http://blog.csdn.net/xiaozhegaa/article/details/76039692
二、hibernate的学习手册【稍后分布讲解的时候会附上截图。这里先看源码把!可以介绍大家如何去学习hibernate】
三、hibernate的入门案例
1、下载Hibernate【5.2.11 目前最新版本】,但是我演示使用的是:5.0.7 版本的
http://hibernate.org/orm/
2、导包:
2.1 解压下载的zip文件,在lib中加入required包
2.2 在lib中加入jpa文件夹的包
2.3 因为使用hibernate时候,有日志信息输出,hibernate本身没有日志输出的jar包,导入其他日志的jar包。在spatial中加入
2.4 不要忘记还有mysql驱动的jar包
【注意:】这里找包有点繁琐,等我写完把包打包发给大家
3、创建实体层的类。
实体类编写规则: 1)属性全部私有 2)get跟set方法 3)
3)要求实体类有一个属性作为唯一值(一般使用id 值)
4)实体类属性建议不使用基本数据类型,使用基本数据类型对应的包装类
public class User {
private Integer id;
private String username;
private String password;
.......
//get和set方法没有截图出来
}
4、创建映射文件 User.hbm.xml 【注:这里如果不知道怎么写的话,没关系,后面会详细详细讲配置文件的】
User.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.entity">
<!-- 这里的name值刚好对应着 实体User的属性哦 -->
<class name="User" table="t_user">
<id name="id">
<generator class="native"/>
</id>
<property name="username"/>
<property name="password"/>
</class>
</hibernate-mapping>
5、创建Hibernate的核心配置文件 hibernate.cfg.xml【注:这里如果不知道怎么写的话,没关系,后面会详细详细讲配置文件的】
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 数据库信息(连接信息写到spring的配置文件中) -->
<property name="dialect">org.hibernate.dialect.MySQL57Dialect</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/demo1</property>
<property name="connection.username">root</property>
<property name="connection.password"></property>
<!-- 其他配置 -->
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<property name="format_sql">true</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- 导入映射配置 ,这里写的是User.hbm.xml的全路径哦-->
<mapping resource="com/entity/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
6、编写测试代码
@Test
public void testAll() {
//1:加载配置文件,然后获得SessionFactory工厂
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
//解释:这里只要能够去加载我们的配置文件,那么它就会自动加载映射文件,会自动建表。测试是否建表成功
}
7、测试截图
8、确实创建表成功了。也就是我们的hibernate环境配置是ok的。然后接下来:好好了解一下上面的配置文件如何编写。就可以了
阅读我们的入门案例,是需要一定一点点基础的。如果你没有任何基础看不懂的话,建议看下两篇【核心配置文件】【映射文件】是怎么配置的。然后返回来看就可以了