Hibernate的开发过程

hibernate开发流程 入门 hibernate开发流程 入门 hibernate开发流程 入门 hibernate开发流程 入门hibernate开发流程 入门 hibernate开发流程 入门 立即下载

总述

Hibernate的开发流程为:

  1. 创建配置文档hibernate.cfg.xml;

  2. 创建持久化类;

  3. 创建数据库文件;

  4. 创建对象-关系映射文件;

  5. 访问数据库

Hibernate版本为5.3.2

创建hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!--数据库连接url配置-->
        <property name="connection.url">jdbc:mysql://127.0.0.1:3306/database_name?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT%2B8</property>
        <!--数据库驱动配置-->
        <property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
        <!--数据库用户名配置-->
        <property name="connection.username">username</property>
        <!--数据库密码配置-->
        <property name="connection.password">password</property>
        <!--数据库方言-->
        <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>

        <property name="show_sql">true</property>
        <property name="format_sql">true</property>
        <property name="hbm2ddl.auto">update</property>
        <!--使用getCurrentSession方式打开会话,若使用openSession方式则不需要配置该常量-->
        <property name="hibernate.current_session_context_class">thread</property>

        <!-- 查询翻译器 -->
        <!--<property name="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</property>-->

        <!--要用斜杆-->
        <!--将hbm文件包含进来-->
        <mapping resource="com/entity/Students.hbm.xml"/>
        <mapping class="com.entity.Students"/>
        <mapping resource="com/entity/Users.hbm.xml"/>
        <mapping class="com.entity.Users"/>
    </session-factory>
</hibernate-configuration>

创建持久化类

创建实体类,对应数据库,如:

package com.entity;

import java.util.Date;

//学生类
public class Students {
    private String sid;//学号
    private String sname;
    private String gender;//性别
    private Date birthday;
    private String address;

    public Students() {
    }

    public Students(String sid, String sname, String gender, Date birthday, String address) {
        this.sid = sid;
        this.sname = sname;
        this.gender = gender;
        this.birthday = birthday;
        this.address = address;
    }

    public String getSid() {
        return sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "Students [sid="+sid+",sname="+sname+",gender="+gender+",birthday="+birthday+",address="+address+"]";
    }
}

该类按JavaBean遵循的基本原则:
1. 公有的类

  1. 提供公用的不带参数的默认的构造方法

  2. 属性私有

  3. 属性setter/getter封装

创建数据库文件

数据库名称应与hibernate.cfg.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.entity.Students" table="students" schema="students_manager">
        <id name="sid" column="sid" type="java.lang.String">
            <generator class="assigned"/>
        </id>
        <property name="sname" column="sname" type="java.lang.String"/>
        <property name="gender" column="gender" type="java.lang.String"/>
        <property name="birthday" column="birthday" type="date"/>
        <property name="address" column="address" type="java.lang.String"/>
    </class>
</hibernate-mapping>

一个实体类对应一个hbm文件,而且必须在同一个目录下。

其中name对应实体类中的属性名称,column对应数据表中的属性名称,type为数据类型,可写成Java或数据库中的数据类型。

id对应主键,其中<generator class="assigned"/>,assigned表示手工赋值,也可以为native,表示自动增长,相当于auto-increment,不用手工赋值。

hbm文件创建完成后,需包含进去cfg文件中。

访问数据库

流程如下:

  • 创建Configuration对象

  • 创建sessionFactory对象

  • 创建session对象

  • 开启TransAction事务

  • 开始访问

  • 提交事务

//创建Configuration对象
Configuration config=new Configuration().configure();
//创建sessionFactory对象
SessionFactory sessionFactory=config.buildSessionFactory();
//创建session对象,也可用openSession方式
Session session=sessionFactory.getCurrentSession();
//开启TransAction事务
Transaction tx=session.beginTransaction();

Students s=Students("10001","lisi","男",new Date(),"666宿舍楼");
session.save(s);

//提交事务
tx.commit();

创建Session对象,可用openSession方式,也可用getCurrentSession方式,差别在 openSession每次创建都是创建新的Session对象,getCurrentSession每次创建的都是同一个对象。

oracle合并行---解决listagg 拼接字段返回过长 (Ora-01489 result of String concatenation is too long) 阅读详情

相关推荐

给麒麟KylinOS服务器加把锁:手把手配置符合等保要求的密码强度策略

本文详细介绍了如何在麒麟KylinOS服务器上配置符合等保要求的密码强度策略,包括pwquality.conf和login.defs的核心参数设置、等保合规的进阶配置技巧以及企业环境中的平衡艺术。通过实战案例和测试方法,帮助管理员构建坚固的密码防线,确保系统安全。

weixin_33749242的博客 419

Hibernate开发基本步骤

Hibernate开发基本步骤:1.编写配置文档hibernate.cfg.xml2.创建实体类3.生成对应实体类的映射文件并添加到配置文档中4.调用Hibernate API进行测试准备条件:1.安装好Hibernate插件2.准备hibernate, junit4, mysql驱动等相关开发包, 并将其导入项目中_________________________________________...

么凹大人的博客 990

自动驾驶轨迹规划算法——Apollo Lattice Planner

Apollo Lattice Planner是百度Apollo自动驾驶系统中的一种基于采样的实时轨迹规划算法。其核心思想是在离散化的状态空间中,对终端状态进行采样,并通过多项式曲线连接当前状态与候选终端状态,形成候选轨迹集,最后基于代价函数选择最优轨迹。该算法将车辆可达状态按纵向距离、横向偏移和速度等维度规则离散化,形成"格点"状态空间。 Lattice Planner通过三个主要步骤实现轨迹规划:1)终端状态采样,在规划时域内枚举多种驾驶意图;2)轨迹生成,使用五次多项式连接起点与各终

swaggytiger的博客 1623

hibernate开发步骤

1)开发步骤: >>导入hibernate相关的10个jar包,如果后面,要用到其它功能,可以添加新jar包 (包括了MySQL的驱动包) >>创建表:customers.sql >>创建实体:Customer.Java >>创建...

choubie9793的博客 560

comsol 多物理场仿真流程-以开关柜为例

1、主要方法 在SolidWorks中对于开关柜的内部与外部结构进行建模,生成能够导入软件计算的3D模型。将SolidWorks中的模型导入comsol软件中,设置参数进行多物理场耦合仿真。 1、具体步骤 删除高压开关柜中对其内部电磁环境无较大影响的结构,如低压测量柜、断路器内部结构等。 导入模型:将厂家提供的3D模型转化为solidworks结构模型。 修复模型:修复已转化模型中转化错误的部分、修复已转化模型中非实体部分、修复已转化模型中重叠实体部分 化简模型:去除过于...

健忘16的博客 7020

从零构建RK3568视频处理管线:C++ V4L2捕获与RKMPP硬编解码实战

本文详细介绍了在RK3568平台上,使用C++语言从零构建高性能视频处理管线的实战过程。核心内容包括通过V4L2接口高效捕获摄像头视频流,并利用RKMPP硬件编码器实现零拷贝的H.264/H.265硬编码。文章深入讲解了设备初始化、DMA缓冲区管理、编码器参数配置以及主循环协同工作等关键步骤,旨在帮助开发者构建低延迟、高效率的嵌入式视频应用。

weixin_29193359的博客 85

hibernate 开发步骤

一、创建hibernate配置文件       hibernate.cfg.xml      基本都是这样   直接复制拿去用就好了 <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://www.hibernate.org

皮皮的博客 423

利用BMC和KVM远程安装联想服务器Ubuntu 22.04的完整指南

本文提供了一份详尽的指南,介绍如何利用联想服务器的BMC(基板管理控制器)和KVM(键盘、视频、鼠标)重定向功能,远程安装Ubuntu 22.04 LTS操作系统。内容涵盖从准备工作(如获取BMC信息、配置Java环境)、登录BMC并启动远程控制台,到挂载ISO镜像、设置引导以及完成Ubuntu安装与后续配置的全过程。该方法能极大提升服务器部署与运维效率,尤其适用于无法物理接触服务器的场景。

p8q9r0的博客 623

Hibernate学习笔记(一):hibernate 的开发步骤(保存数据)

项目结构: 1、导入 jar 包: 2、写实体类对象:Employee.java package com.hibernate.demo; import java.util.Date; /** * 实体类 对象 */ public class Employee { private int empId; private String empName; p...

秋忆夏伤的博客 1245

中图法第五版SQL,支持树形结构可直接导入使用

基于第五版中图法官方数据收集整理,效果图如下:

cloudin_adin的博客 981

基于STM32、HAL库的WF282A气压传感器 驱动程序设计

测量范围:0-2.5MPa(可根据需求选择其他量程)输出方式:I2C或SPI数字接口。温度补偿范围:-20℃~85℃。低功耗设计,适合电池供电应用。工作电压:3.3V/5V。精度:±0.1%FS。

corlin6688的博客 394

基于Struts+Hibernate开发过程中遇到的错误

1.import  javax.servlet.http.HttpServletRequest 导入包出错 导入包出错,通常是包未引入,HttpServletRequest包是浏览器通过http发出的请求, 需要将tomcat/lib 目录下的 servlet-api.jar导入。但是导入后仍然不行,重启eclipse也无法让他生效 最后通过 project -clean来生效的。

方丈的寺院 1668

智能家居系统设计:基于MATLAB的智能家居系统设计和仿真,包括智能家居控制、家庭能源管理和家庭安全监控

基于 MATLAB 的智能家居系统设计方法可以有效地解决各类智能家居问题。

走向CTO的路上... 1775

hibernate项目基本开发过程

第一个hibernate项目:1.创建java Project2.创建user labrary  *导入HIBERNATE_HOME/hibernate3.jar  *导入HIBERNATE_HOME/lib/*.jar  *MySQL jdbc驱动3.创建hibernate配置文件 hibernate.cfg.xml,  为了便于调试,最好就如log4j.properties4.定义

K3的专栏 484

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

hibernate开发过程

一般来说Hibernate的开发过程:1:业务实体的确定;2:映射文件;3:Dao的定义和开发工作;4:表示层struts Dao    |                                                            |   |                                                  

penghuasheng的专栏 420

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

hibernate开发过程中的小细节

1 问题来源:    最近在和一个伙伴开发一个使用ssh框架的台管理系统,在开发过程中遇到一个小问题:    当我把他的dao整合到我的项目中时,当操作插入的时候,提示总是插入成功,可是在图形化的界面管理中,对应的数据库却显示没有插入数据,    我仔细检查自己的数据库连接文件,配置是正确的。为何却在图形化的界面上却显示不到数据呢? 2 问题解决:   我仔细查看了他的映射文件:

JJ_nan的博客 401

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

hibernate配置,开发过程

首先在hibernate官网下载hibernate压缩包,http://hibernate.org/orm/downloads/,目前版本为4.3.5。下 载后解压缩,将lib文件夹中的required文件夹下的所有jar包加入到项目中(通过buildpath->user library)。 hibernate的作用是将我们对对象的操作通过hibernate内部映射成对数据库的操作。 首

zhang657869739的专栏 548

Hibernate开发过程与session

前一篇通过一个例子实际体验了一下Hibernate,通常情况下,使用 Hibernate 进行数据持久化操作有如下步骤:      1.编写持久化类: POJO + 映射文件      2.获取 Configuration 对象      3.获取 SessionFactory 对象      4.获取 Session,打开事务      5.用面向对象的方式操作数据库      6.关闭事务,关闭 Session    上面的步骤具体来说就是,当应用程序启动的时候,Hibernate也启动,这时程序中会构

aaaaaaaa0705的专栏 1795

1.Hibernate框架,第一个例子,开发过程

1.ORM O, Object 对象 R, Realtion 关系 (关系型数据库: MySQL, Oracle…) M,Mapping 映射 ORM, 对象关系映射! Hibernate是ORM的实现! 2.Hibernate框架开发 1. 下载源码 版本:hibernate-distribution-3.6.0.Final 2. 引入jar文件 hibernate3.jar核心 + required 必须引入的(6个) + jpa ...

yun1996的博客 155

传智播客 Hibernate开发过程与session详解

     前一篇通过一个例子实际体验了一下Hibernate,通常情况下,使用 Hibernate 进行数据持久化操作有如下步骤:      1.编写持久化类: POJO + 映射文件      2.获取 Configuration 对象      3.获取 SessionFactory 对象      4.获取 Session,打开事务      5.用面向对象的方式操作数据库      6

JAVA专栏 1152

开发过程中mybatis使用经验以及和hibernate的对比

mybatis和hibernate  第一步, 首先让我们对mybatis和hibernate对比了解下  1、 Hibernate :Hibernate 是当前非常流行的ORM框架,对数据库结构提供了较为完整的封装,都是为了简化Dao层的操作。 Mybatis:Mybatis同样也是非常流行的ORM框架,主要着力点在于POJO 与SQL之间的映射关系,都是为了简化Dao层的操作。 2

谦虚使人发胖的博客 1993

第二章 Hibernate项目开发过程

2.1 先写实体类--作映射--生成数据库与表(官方推荐) 2.2 先写数据表--用工具生成映射和实体类(使用比较多) 2.3 由映射开始(少用)

事事无所 144

[教程]使用MyEclipse实现集成Struts+hibernate框架的项目开发过程

今天放上自己使用MyEclipse开发索迪杯50强项目的过程,也算做Java中使用开源SSH框架的教程吧,整个项目因为CG对Spring目前并不太熟悉,所以取消了Spring部分,不过CG会简单介绍一下在哪些部分可以使用Spring,CG自己也是初学者,所以如果哪些部分有不对或者有问题的地方,欢迎高手不吝指正,在此谢过。首先了解一下基本环境Java: J2EE 5 SDK SUN提供的一大包Jav

李大仁博客 2283
上一篇: Struts2的开发过程
下一篇: Linux的档案权限与目录配置
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值