网站首页> 博客> hibernate环境的搭建和配置

hibernate环境的搭建和配置

好文 2514
. . .
. . . 2018-06-14
收藏

1 hibernate 基本概述

   1 简介   对象/关系映射框架

   2 优点   

     缺点   1 对于频繁的批量查询操作的支持不太好

            2 对于报表的支持不太好

   3

ORM   对象关系映射ORM,即Object Relational Mapping,它的作用是在关系型数据库和对象之间做了一个映射。从对象(Object)映射到关系(Relation),再从关系映射到对象。

持久化    在了解Hibernate框架之前,首先要了解什么是持久化。持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等。

  4 hibernate 运行原理

2 环境搭建

1 导包

  大概20

2 创建配置文件   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="hibernate.dialect">org.hibernate.dialect.MySQLDialectproperty>

        

        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driverproperty>

        

        <property name="hibernate.connection.username">rootproperty>

        <property name="hibernate.connection.password">rootproperty>

        

        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/testuserproperty>

        

        <property name="hibernate.connection.useUnicode">trueproperty>

        <property name="hibernate.connection.characterEncoding">utf8property>

        

        <property name="hibernate.show_sql">trueproperty>

        

        <property name="hibernate.hbm2ddl.auto">updateproperty>

        

     <mapping resource="com/hbm/bean/userInfo.xml"/>

    session-factory>

hibernate-configuration>

 

3 创建实体类

  User.java

  1 尽量让实体类的属性名和数据表中的字段名一致

  2 尽量使用包装类修饰属性

  3 提供一个无参的构造方法

  

public class User {

 

private int id;

private String name;

private String password;

private String tel;

  省略setXXX & getXXX方法

}

 

4 创建实体类的映射文件   

  userInfo.xml

 

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.hbm.bean.User" table="t_user">

<id name="id" column="id">

<generator class="native">generator>

id>

<property name="name" column="name">property>

<property name="password" column="password">property>

<property name="tel" column="tel">property>

class>

hibernate-mapping>

 

5 进行数据库的操作

 7

1 读取hibernate核心配置文件

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

2 根据核心配置文件创建sessionFactory

  SessionFactory sessionFactory=cfg.buildSessionFactory();

3 创建session

  Session session=sessionFactory.openSession();

4 打开事务

  Transaction tx=session.beginTransaction();

5 数据库的操作

  Session.save(user);

6 提交事务

Tx.commit();

7 关闭session

Session.close();

sessionFactory.close();

补充一点

事务的特点:

1 一致性:当事务完成后,数据库中所有的数据总量必须一致

2 原子性:一个事务要么全部执行成功,要么全部不成功

3 隔离性:多个用户操作同一个数据的时候,只能有一个事务操作数据,其他的只能等等

4 持久性:事务操作成功后,对数据的更改是永久的

 

public class UserDao {

private static Session session;

//代码块

static{

//1 加载hibernate核心配置文件

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

//2 创建sessionFactory对象

SessionFactory sessionFactory=cfg.buildSessionFactory();

//3 创建session

session=sessionFactory.openSession();

}

 

//进行数据库的操作需要七步

public void addUser(User user){

//4开启事务

Transaction tx=session.beginTransaction();

try {

//5操作

 session.save(user);

//6提交事务

 tx.commit();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

tx.rollback();//回滚事务

}finally {

//7关闭session

 session.close();

}


}

}

 

6单元测试

加载junit jar

 

 

创建测试的包和用例

 

 

 

执行

在测试用例上单机右键 run AS  -  junit Test

成功  绿色条

不成功   红色   错误的信息


  • 没有任何评论
个评论
. . .

. . . (青铜)

86金币 (0)粉丝 (1)源码

 

加入微信群,不定期分享源码和经验
签到活跃榜 连续签到送额外金币
最新博客
校园跑腿系统外卖系统软件平台大学生创业平台搭建 968
壹脉销客智能名片CRM系统小程序可二开源码交付部署 1007
为啥没搞了 1534
Nginx 的 5 大应用场景,太实用了! 1720
CentOS 8-stream 安装Postgresql 详细教程 2023
JAVA智慧校园管理系统小程序源码 电子班牌 Sass 模式 1514
Java智慧校园系统源码 智慧校园源码 智慧学校源码 智慧校园管理系统源码 小程序+电子班牌 1295
Java智慧校园系统源码 智慧校园源码 智慧学校源码 智慧校园管理系统源码 小程序+电子班牌 1260
致远OA权限 2151
发博客会有金币吗 1320