初识Hibernate

  • 2
  • 1,937 views
  • A+
所属分类:Hibrenate

其实之前也是了解过Hibernate,但是现在博主为了避免手高眼低的情况发生,决定对陌生的Hibernate再次造访,之前的博文是从朋友(imfuwei.com)那里偷过来的。所以不是我自己去学习的,现在我自己学习了一下,然后我在完善一下Hibernate。
Hibernate的作者是Gavin King。其原是Jboss下的一名员工,因为Hibernate的缘故,整个公司被redhat收购,详情去百度,本博主不讲故事。
目前用的是官方最新版的5.2.10环境,配合MySQL数据库以及其Driver For Java还有就是Junit(一个单元测试工具)后面打包Jar包。
初识HibernateHibernate工作原理?不存在的,我也不知道的,简单绘个小图吧

初识Hibernate

 

画不来 偷了一张

Hibernate数据连接重点(我认为)

DB连接四要素

方言

C3P0数据库源

当前Session上下文

1.Thread

2.Jpa(Java事务API) 座分布式用

3.Spring Session Context(整合框架会用到)

接下来,就是配置Hibernate.hbm.xml配置文件

首先找到配置映射约束文件

hibernate-core-5.2.10.Final.jar

这个Jar包的org.hibernate包里面包含着约束文件,如两图所示

初识Hibernate 初识Hibernate

configuration是我们要的配置文件,Mapping是映射文件,所以先从configuration开刀

我用的dtd,红框勾选的地方

初识Hibernate

新建一个hibernate.cfg.xml在Src跟目录下

然后复制以下代码

<?xml version="1.0" encoding="UTF-8"?>
<!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>
<!-- 连接数据库的四要素 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/hibernate?useSSL=true</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123</property>
<!-- 方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL57Dialect</property>
<!-- 数据库连接池(数据源) -->
<property name="hibernate.connection.provider_class">org.hibernate.c3p0.internal.C3P0ConnectionProvider</property>
<!-- 当前Session上下文 -->
<property name="hibernate.current_session_context_class">thread</property>
<!-- 自动建表 -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 显示SQL语句 -->
<property name="hibernate.show_sql">true</property>
<!-- 配置映射 -->
<mapping resource="com/minedeed/beans/Student.hbm.xml" />

 

</session-factory>

 

</hibernate-configuration>

 

然后就是新建一个beans包

新建一个student类,大家都懂

private Integer id;
private String name;
private Double score;

最后新建一个student.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!-- 类到表的映射,属性到字段的映射 -->
<class name="com.minedeed.beans.Student" table="t_student">
<id name="id" column="id">
<generator class="native"></generator>
</id>
<property name="name" column="name"></property>
<property name="score" column="score"></property>
</class>
</hibernate-mapping>

然后test
//1.加载主配置文件
Configuration cfg = new Configuration().configure();
//2.创建Session工厂
SessionFactory sf = cfg.buildSessionFactory();
//3.获取session
Session session = sf.getCurrentSession();
Student student = new Student();
student.setId(1);
student.setName("张三");
student.setScore(99.5);
//4.开启事务
try {
session.beginTransaction();
session.save(student);
session.getTransaction().commit();
} catch (Exception e) {
// TODO Auto-generated catch block
//事务回滚
session.getTransaction().rollback();
}

然后结束

初识Hibernate

 

最后完美

 

 

 

avatar
  • 版权声明:本站原创文章,于2017年6月24日01:41:57,由 发表,共 2770 字。
  • 转载请注明:初识Hibernate | deed

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

    • avatar 天津网站建设 0

      没看懂慢慢学习吧

      • avatar 姜辰 2

        前来膜拜大牛~~~