专栏首页deed博客初识Hibernate

初识Hibernate

  • 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数据连接重点(我认为)

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包里面包含着约束文件,如两图所示

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

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

新建一个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(); }

然后结束

最后完美

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hibernate框架简单应用步骤

    用户1127987
  • 中国黑客侵入欧洲5国政府电脑系统

    用户1127987
  • 一面颜值,一面实用,酷比魔方iwork1X试用

    用户1127987
  • SSH框架之Hibernate第一篇

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    海仔
  • web基础之hibernate(一篇)

                                                                   hibernate的一些基本的认识...

    Gxjun
  • 【SSH框架】之Hibernate系列(一)

    微信公众号:compassblog 欢迎关注、转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1、Hibernate框架概述 (1)、什么是Hiber...

    compassblog
  • Hibernate入门

    Hibernate是什么     Hibernate是一个轻量级的ORMapping框架     ORMapping原理(Object Relational M...

    xiangzhihong
  • hibernate进阶操作

    配置hibernate.cfg.xml配置文件 1.连接数据库 2.数据库方言 3.控制台是否显示sql语句 4.给控制台sql语句添加格式

    微醺
  • Hibernate第一个程序

    爱撒谎的男孩
  • [ SSH框架 ] Hibernate框架学习之一

    Kevin_Zhang

扫码关注云+社区

领取腾讯云代金券