zoukankan      html  css  js  c++  java
  • SpringBoot集成Hibernate

    小白初次接触Hibernate框架,有些不知所措,写点东西来记录

    SpringBoot框架集成Hibernate

    1.添加pom文件,在pom文件中添加必要的依赖,除了SpringBoot的依赖以外,还需要数据库依赖和jpa依赖

    2.在配置文件中进行连接数据库配置和Hibernate配置

    3.项目启动类

      需要注解:

        @EnableJpaRepositories(repositoryFactoryBeanClass = BaseRepositoryFactoryBean.class):扫描和发现指定包及其子包中的Repository定义

        @EnableTransactionManagement:开启注解事务管理

    4.编写一个对应数据库的实体类:

      需要注解:

        类上:

        @Entity:标识为一个实体类。

        @Table(name = "?"):将类和表进行关联,?为表名。

        @SequenceGenerator(name = "?1", sequenceName = "?2",allocationSize = 1,initialValue = 1):name和sequenceName没有完全弄清楚,暂不做阐述,allocationSize表示自增数值,默认为50,需要手动改为1,initialValue表示主键初始值,默认为0,手动改为1。

        字段或者方法上:

        @Id:标识字段为主键,必须要有,否则会报错。

        @GeneratedValue(strategy = GenerationType.?,generator = "?"):表示主键的生成策略,generator的值跟SequenceGenerator注解中的name值一致,strategy的值有四个:

          –IDENTITY:采用数据库ID自增长的方式来自增主键字段,Oracle 不支持这种方式; 
          –AUTO: JPA自动选择合适的策略,是默认选项; 
          –SEQUENCE:通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式 
          –TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。
        @Colume(name = "?"):将类字段和表字段建立于映射,?为表中字段名。

    5.持久层:定义接口,继承SimpleHibernateDao或者其父级接口JpaRepository

       需要注解:

          @Repository:让Spring创建和管理实例

  • 相关阅读:
    mac 个人账户环境变量位置
    版本控制工具Git
    xmind导图用例转换为表格用例
    Mysql清空表(truncate)与删除表中数据(delete)的区别
    log4j日志级别及使用规范
    洛谷 P3807 【模板】卢卡斯定理
    jmeter环境配置与java环境配置
    NOI2020乱搞记
    Re:ゼロから始める文化課生活
    阅读书单
  • 原文地址:https://www.cnblogs.com/xiao-lin-unit/p/13475104.html
Copyright © 2011-2022 走看看