Hibernate—(搭建、简单使用)

来源:互联网 发布:js输出日期格式 编辑:程序博客网 时间:2024/05/23 20:33


 一、Hibernate的简介

         1.什么是Hibernate?

         Hibernate是持久化(和数据库有关的操作)框架,也是ROM框架(Object/Relation/Mapping  对象关系映射),Hibernate核心内容是ORM(关系对象模型)。可以将对象自动的生成数据库中的信息,使得开发更加的面向对象。这样作为程序员就可以使用面向对象的思想来操作数据库,而不用关心繁琐的JDBC。所以,Hibernate处于三层架构中的D层(持久层)。



二、为什么Hibernate?

    1、Hibernate可以使用在Java的任何项目中,不一定非要使用在Javaweb项目中

2、与JDBC相比较,代码更简介,开发效率更高。

3、与MyBatis想比较而言; Hibernate是成熟稳定的优秀框架,全封装式,运行速度慢,开发效率高。MyBatis没有Hibernate

那么稳定,处于半封装式,运行速度快,但是开发效率慢。




三、在哪里用Hibernate?

     任何和数据库操作有关的都可以使用Hibernate

   

      二、在Eclipse搭建Hibernate框架

    1、安装Hibernate插件(推荐使用在线安装插件的方式(原因:快,不容易出错))

   第一步:去市场下载

   第二步:搜索hibernate

                           

   第三步: 寻找Jboos 下载安装

                             

第四步:测试(ctrl+n  输入hibernate关键字,如果出现以下图片中的信息就成功了,默认没有插件是没有的。)

                         


二、使用maven创建项目并导入hibernate核心jar包

 ①pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>Hibernate01</groupId>  <artifactId>Hibernate01</artifactId>  <packaging>war</packaging>  <version>0.0.1-SNAPSHOT</version>  <name>Hibernate01 Maven Webapp</name>  <url>http://maven.apache.org</url>   <properties>        <argLine>-Dfile.encoding=UTF-8</argLine>  </properties>    <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.12</version>      <scope>test</scope>    </dependency>    <!-- servelet -->     <dependency>    <groupId>javax.servlet</groupId>    <artifactId>javax.servlet-api</artifactId>    <version>3.1.0</version>    <scope>provided</scope>   </dependency>       <!-- 加入hibernate依赖 -->    <dependency>   <groupId>org.hibernate</groupId>   <artifactId>hibernate-core</artifactId>   <version>5.2.10.Final</version></dependency>    <!-- Mysql依赖 -->     <dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>5.1.43</version>    </dependency>   </dependencies>     <build>    <finalName>Hibernate01</finalName>  </build></project>


②数据库

                    

③核心配置

                        

④实体类:

package com.sun.entity;public class Student {private int sid;private String sname;private int sage;public Student() {}public Student(int sid, String sname, int sage) {super();this.sid = sid;this.sname = sname;this.sage = sage;}public Student(int sid) {super();this.sid = sid;}public Student(String sname, int sage) {    super();this.sname = sname;this.sage = sage;}public int getSid() {return sid;}public void setSid(int sid) {this.sid = sid;}public String getSname() {return sname;}public void setSname(String sname) {this.sname = sname;}public int getSage() {return sage;}public void setSage(int sage) {this.sage = sage;}}
⑤实体类映射文件(Student.hbm.xml)  导入插件后可以在点击一下包。然后Ctrl+n 输入hibernate 选择第四个映射文件,选择你要映射的实体类,然后会自动将你映射好。没有插件的必须自己手写,或者copy。

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Generated 2017-8-21 20:09:40 by Hibernate Tools 3.5.0.Final --><hibernate-mapping>    <class name="com.sun.entity.Student" table="STUDENT">        <id name="sid" type="int">            <column name="SID" />            <generator class="assigned" />  <!--主键-->        </id>        <property name="sname" type="java.lang.String">            <column name="SNAME" />        </property>        <property name="sage" type="int">            <column name="SAGE" />        </property>    </class></hibernate-mapping>

⑥核心配置hibernate.cfg.xml

<?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="connection.username">root</property> <property name="connection.password">tiger</property> <property name="connection.url">jdbc:mysql://localhost:3306/mysql</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property>      <!-- 显示SQL语句 --><!-- <property name="show_sql">true</property> --><!--配置映射信息--><mapping resource="com/sun/entity/Student.hbm.xml"/>    </session-factory></hibernate-configuration>


三、测试Hibernate的增删改查使用hibernate八步骤

 ① 加载Hibernate配置文件

 Configuration configuration=new Configuration().configure();

 ②创建SessionFactory

SessionFactory sessionFactory = configuration.buildSessionFactory();

 ③创建Session

Session session = sessionFactory.openSession();

 ④开启事务

Transaction transaction = session.beginTransaction();

 ⑤执行数据库操作

  增

Student student=new Student("雷一鸟", 18);
session.save(student);

  删

Student stu=new Student(1);  //id=1
session.delete(stu);

  改

Student student=new Student(1,"雷一鸟", 18);

session.update(stu);

  查(查询全部)

List<Student> list=session.createCriteria(Student.class).list();

//遍历

for (Student student : list) {
System.out.println(student.getSid()+" "+student.getSname()+" "+student.getSage());
}

 ⑥提交事务

  transaction.commit();

 ⑦关闭Session

  session.close();

 ⑧关闭SessionFactory

   sessionFactory.close();

原创粉丝点击