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创建和管理实例

  • 相关阅读:
    alpha测试和beta测试的区别
    当设计师遭遇HTML5
    软件开发项目中如何进行风险管理
    程序员应知——关注细节
    与Janet关于敏捷测试若干问题的Q&A
    软件开发中的哲学——世界的本原是物质(一)
    软件开发中的哲学——写在前面
    软硬兼施让客户满意
    浅谈DBA的角色以及与业务的关系
    连接access时的REGDB_E_CLASSNOTREG(0x80040154)错误
  • 原文地址:https://www.cnblogs.com/xiao-lin-unit/p/13475104.html
Copyright © 2011-2022 走看看