网站首页> 博客> hibernate环境的搭建和配置
hibernate环境的搭建和配置
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单元测试
l 加载junit jar包
l 创建测试的包和用例
l 执行
在测试用例上单机右键 run AS - junit Test
成功 绿色条
不成功 红色 错误的信息
- 加入微信群,不定期分享源码和经验

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