前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初识Hibernate

初识Hibernate

作者头像
用户1127987
发布2018-06-04 17:10:12
6690
发布2018-06-04 17:10:12
举报
文章被收录于专栏:deed博客
  • 2
  • 1,575 views
  • A+

所属分类:Hibrenate

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

初识Hibernate
初识Hibernate

Hibernate工作原理?不存在的,我也不知道的,简单绘个小图吧

初识Hibernate
初识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
初识Hibernate
初识Hibernate

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

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

初识Hibernate
初识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
初识Hibernate

最后完美

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年6月24日0,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档