• 小白的进阶之路10


    今天,开始我们的hibernate的第一天,hibernate在Java项目中负责的是持久层。

     首先了解一下,hibernate的特点就是orm(object relation mapping) 对象关系映射。

    今天的任务是hibernate的入门,搭建好框架的环境,完成简单的增删改查。

    第一步,建立一个数据里,表名为customer表,

    再写一个javabean,名为customer,接下来完成表与数据库中的映射关系。

    有一点要知道就是hibernate和DBUtils有所不同,因为在DBUtils中会强制要求属性名与字段名相同。但在hibernate中,可以不同。

    一个javabean对应一个映射表。

    这是约束,需要到hibernate的core jar包中第一个包,打开hibernate-mapping 3.0 中选取。

    注意点是主键的配置。、

    另外需要的注意的是,在customer这个类中,属性的类型不要选择基本数据类型,最好选择包装类,因为包装类的默认值null,而基本数据类型的默认值为0。

    接下来的是核心配置: hibernate.cfg.xml(一个数据库一个此xml文档)

     

    在hibernate配置文件中,可以有可选参数,比如显示SQL语句、格式化SQL语句、生成表的结构等,这些配置都需要到hibernate.peoperty的文件中找。

     由上面的截图可以发现,在创建完configuration之后就要创建sessionfactory,而sessionfactory使用的是工厂模式,主要是来创建session,session的作用的是数据库的增删改查操作,每次使用过后就直接死亡,座椅生命周期非常短暂,称之为hibernate一级缓存。但是每个session在死亡之前所保存的内容都sessionfactory二次保存,而sessionfactory不会轻易销毁(因为它不是一个轻量级的框架,如果频繁的创建sessionfactory或频繁的销毁sessionfactory会浪费相当大的资源),所以sessionfactory里维护了hibernate的二级缓存,

    sessionfactory是线程安全的,可以被多个实例所共享。

    一个数据库只能有一个sessionfactory,如果一个项目需要多个数据库,那么则应创建多个sessionfactory。

     在上面的test类中,可以发现六大步骤在操作的时候与很多步骤是相同的,此时,我们可以将其封装成一个工具类供我们使用。

    session的常用方法,刚刚是save()方法,接下来演示一下get(),

    将小写字母转换成大写,(Ctrl+shift+X)

    如果做删除或修改的方法,需要先查询,早删除或修改,这才是标准的做法。

     

    修改,同样的,要先查询。

    saveorupdate()保存或更新(如果有就更新,没有就保存,但是ID这个主键设置的是自动递增,不可修改)

    事务的回滚。 

     

  • 相关阅读:
    权限设计=功能权限+数据权限
    C# 自定义配置文件
    asp.net core 系列 2 启动类 Startup.CS
    asp.net core 系列 1 概述
    IOC : Unity 配置和使用
    Unity Ioc 依赖倒置及Untity AOP被动拦截/自动拦截
    webuploader-异步切片上传(暂不支持断点续传)及 下载方法!C#/.NET
    C# 构造基础返回值类型-BaseResponse
    神奇的选择器 :focus-within
    妙用 scale 与 transfrom-origin,精准控制动画方向
  • 原文地址:https://www.cnblogs.com/hanmengdi/p/9433005.html
Copyright © 2020-2023  润新知