hibernate框架的简单入门

1.什么是框架

框架是一个半成品,框架帮我们实现了一部分的功能。

2.使用框架的最大好处

使用框架的最大好处就是,少写一部分代码但仍能实现我们所需要实现的功能。

3.什么是hiberbnate框架

(1)hibernate框架应用在javaEE三层结构中的dao层框架

(2)hibernate底层的代码就是jdbc,hibernate就是对jdbc的封装,使用hibernate就不需要写jdbc复杂的代码了,而且可以不写sql语句,就能实现对数据库的基本的,增,删,改,查。

(3)hibernate是轻量级的框架。

4.hibernate的思想

(1)hibernate使用orm思想对数据库进行增,删,改,查。

(2)什么是orm思想?

orm:object  relational mapping 对象关系映射,让实体类和数据库的表进行对应,也就是实体类中的属性与数据库中表的列进行一一的对应。且实体类的名称与数据库的表名对应。

这样我们就可也不需要对数据库中的表进行操作,而是直接对实体类对象进行操作,再映射到数据库的表中,从而达到对数据库表的操作。 

5.搭建hibernate环境

(1)导入所需jar包。

(2)创建实体类


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

<strong>package com.bean;

public class User {

    private int uid;

    private String username;

    private String password;

    private String address;

    public int getUid() {

        return uid;

    }

    public void setUid(int uid) {

        this.uid = uid;

    }

    public String getUsername() {

        return username;

    }

    public void setUsername(String username) {

        this.username = username;

    }

    public String getPassword() {

        return password;

    }

    public void setPassword(String password) {

        this.password = password;

    }

    public String getAddress() {

        return address;

    }

    public void setAddress(String address) {

        this.address = address;

    }

}

</strong>

这样使用hibernate框架,不需要自己手动创建表,hibernate会帮我们把表建好。

(3)配置实体类和数据库表的一一对应的关系(映射关系)

使用配置文件来实现实体类和数据库表的映射关系。

创建xml文件,文件的名称和位置没有固定的要求,但是建议在实体类的文件夹中建xml文件名称为:实体类名称.hbm.xml 

配置文件的创建首先要引入约束:

xml文件的约束分为dtd约束和schema约束,hibernate是引入dtd约束

配置文件(实体类名.hbm.xml)引入约束(dtd格式)


1

2

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>  配置文件的根节点

  配置映射关系

  <class  name="实体类的全路径"  table="实体类映射到数据库中的表的名字">在此节点内配置实体类

    hibernate要求实体类中有一个属性是唯一的值也就是对应表中的主键

    <id name="实体类中对应的属性的名称"  column="表中对应的字段的名称(也就是主键)">

        设置主键的增长策略

      <generator    class="native"></generator>

        其中的class的值可以等于下图中的一些值

          

      </id>

      下面就是对实体类的其他属性和表中除去主键外的字段进行一一对应的配置了

      <property name="实体类属性名称"  column="表中对应的列名"></property>当然这就要看实体类或者是表中有多少个除去主键的列了,有几列就对应的配置几列了

  </class>

</hibernate-mapping>

(4)配置核心的配置文件(hibernate.cfg.xml)

同样是先引入核心配置文件的约束(dtd格式)


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

<?xml version=‘1.0‘ encoding=‘UTF-8‘?>

<!--引入约束dtd格式-->

<!DOCTYPE hibernate-configuration PUBLIC

          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->

<hibernate-configuration>

<session-factory>

    <!--配置数据库-->

    <property name="dialect">

        org.hibernate.dialect.SQLServerDialect<!--配置数据库的方言,目前是SQLServer数据库的方言,说白了就是为了让hibernate识别你的数据语句-->

    </property>

    <property name="connection.url">

        jdbc:sqlserver://localhost:1433;databaseName=logPublish<!--配置你数据库的连接-->

    </property>

    <property name="connection.username">sa</property><!--配置数据库的登录名-->

    <property name="connection.password">sa</property><!--配置数据库的密码-->

    <property name="connection.driver_class">

        com.microsoft.sqlserver.jdbc.SQLServerDriver<!--配置数据库的加载驱动-->

    </property>

    <property name="myeclipse.connection.profile">sqlserver</property>

    

    

    <!--配置hibernate-->

    <property name="show_sql">true</property><!--为了让hinbernate输出执行的底层的sql语句-->

    <property name="current_session_context_class">thread</property><!--hinbernate绑定当前session-->

    <property name="format_sql">true</property><!--让输出的底层执行的sql语句有一定的格式-->

    

    

    

    

    

    <!--引入实体类的配置文件-->

    <mapping resource="com/bean/LogInfo.hbm.xml" /><!--引入LogInfo实体类的配置文件-->

    

</session-factory>

</hibernate-configuration>

  

核心的配置文件中引入实体类的配置文件可以是多个,但是resource属性的值必须是实体类配置文件的全路径。
需要知道的是在hibernate的操作中只会加载核心的配置文件,不会加载其他的配置文件(所以在核心配置文件中才会引入我们的实体类的配置文件,这样在hibernate的操作过程中就可以加载到实体类的核心配置文件了)

6.Hibernate的过程

(1)加载hibernate核心配置文件(hibernate.cfg.xml)
(2)创建SessionFactory对象
(3)使用SessionFactory对象创建Session对象
(4)使用Session对象开启事务
(5)对数据库的增,删,改,查操作
(6)提交事务
(7)回滚事务
(8)关闭资源
7.hibernate中的核心API
(1)Configuration(用于加载核心配置文件)
  Configuration cfg=new Configuration();
  cfg.configure();
  执行这个语句的时候hibernate会找到核心的配置文件hibernate.cfg.xml进行加载
(2)SessionFactory(用于打开(创建)一个会话,在这里的会话其实也就是对数据库的一次连接到关闭数据库的连接是一次会话)
  sessionFactory = configuration.buildSessionFactory();
  Configuration对象创建SessionFactory对象
  根据核心配置文件中数据库中的配置进行数据库中表的创建。
  需要注意的是一个项目只有一个SessionFactory对象,因为这个对象对资源的消耗很大。
(3)Session(用于开启事物(其实这里的Session对象就相当于Jdbc中的Connection))
  Session对象里面的方法对数据库实现增,删,改,查的操作。
  Session对象中的方法:
  (1)saveOrUpdate()
  (2)save()
  (3)update()
  (4)delete()
  (5)get()
  (6)load()
   (7)CreateQuery()
  (8)CreateSQLQuery()
  (9)CreateCriteria()
最主要的是Session是单线程对象(不能共用)只能自己用不能被其他线程所用
(4)Transaction(用于提交对数据的操作)
事物的四个特性
   (1)原子性     即是不可分割,一组操作要么都失败要么都成功
  (2)一致性    操作之前和操作之后数据的总数是不变的,就比说转账,小明转给小红500,那么小明的账户要减去-500,小红的账户要+500,但是总的来说小明的钱的总数加上小红的钱的总数,转账的前后是没有改变的
  (3)隔离性    多个事物操作同一个数据不会互相影响
  (4)持久性    事物提交,在数据库中是生效的

原文地址:https://www.cnblogs.com/tdskee/p/11639407.html

时间: 2024-11-10 10:42:45

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框架学习(一)——入门

一.框架是什么 1.框架是用来提高开发效率的 2.封装好了一些功能,我们需要使用这些功能时,调用即可,不需要手动实现 3.框架可以理解成一个半成品的项目,只要懂得如何驾驭这些功能即可 二.hibernate框架是什么 三.hibernate 1.操作数据库的时候,可以以面向对象的方式来完成,不需要书写SQL语句 2.hibernate是一款orm框架 1)orm:object relating mapping.对象关系映射 2) 3)orm分4级 hibernate属于4级:完全面向对象操作数据

##Spring框架的简单入门,你入门了么?

Spring框架 ##1,首先我们来说下spring框架的概念,让你有个大概了解: Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 SpringMVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的 J

权限框架 - shiro 简单入门实例

前面的帖子简单的介绍了基本的权限控制,可以说任何一个后台管理系统都是需要权限的 今天开始咱们来讲讲Shiro 首先引入基本的jar包 1 <!-- shiro --> 2 <dependency> 3 <groupId>org.apache.shiro</groupId> 4 <artifactId>shiro-core</artifactId> 5 </dependency> 6 <dependency> 7

框架之 hibernate简单入门

hibernate框架的搭建 Hibernate框架的概述 1. Hibernate框架的概述 * Hibernate称为 * Hibernate是一个开放源代码的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. * Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用. * Hibernate是轻量级JavaEE应用的持久层解决方案

Hibernate学习之简单应用

前言:博主在学到Spring的时候,要开始做项目了,突然觉得好像有点虚,之前学过的Hibernate框架的简单应用好像又忘记了.所以返回来,做个小笔记. 简单来讲,Hibernate框架是利用对象-关系型数据映射(ORM)实现持久化(将数据存入可持久保存的存储设备中). 怎么用呢?这里有一个小demo,实现的是基于Annotation(注解)实现CRUD(增删改查).可以简单分为三步. ① 创建实体类entity(这里的实体类就是UserInfo吧),实体类在此处的作用就跟JavaBean或PO

Hibernate框架入门

导读 本文主要介绍hibernate的入门,主要包括以下内容:hibernate介绍.hibernate环境搭建.hibernate简单测试.测试涉及的api详解. 一.hibernate介绍 JDBC是Java操作数据库的工具,我们可以使用jdbc来书写并执行sql语句来操作数据库,对于普通的业务,jdbc工具是完全可以胜任的,但但当任务复杂,特别是数据库中表格很多的时候,jdbc就会显得力不从心,代码复用率低且sql语句容易出错. Hibernate框架从jdbc面向过程操作数据库的过程转变

hibernate多对多 一对多 及简单入门

Hibernate简单使用 入门 通过hibernate的 一对多 多对多轻松看懂hibernate配置 (不使用注解) hibernate对jdbc访问数据库的代码进行轻量级封装,简化重复代码 减少内存消耗 .hibernate基于JDBC开发与mybatis不同hibernate 时完全orm实现简化dao层编码支持多种关系型数据库 hibernate下载 暂时不建议下载最新版本的  (原因 兼容问题). 这里首先说一下hibernate的配置文件 可以分为两类  一类与实体映射作为orm数

Hibernate框架简单应用

Hibernate框架简单应用 Hibernate的核心组件在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层.它通过配置文件(hibernate.properties或hibernate.cfg.xml)和映射文件(***.hbm.xml)把JAVA对象或PO(Persistent Object,持久化对象)映射到数据库中的数据库,然后通过操作PO,对数据表中的数据进行增,删,改,查等操作.除配置文件,映射文件和持久化类外,Hibernate的核心组件包