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

  • 相关阅读:
    MTD NANDFLASH驱动相关知识介绍
    Java 根据当前时间获取明天、当前周的周五、当前月的最后一天
    使用 Spring 进行单元测试
    Centos下MySQL主从同步配置
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
    CentOS 7 配置静态IP
    mysql 配置 utf8 依然乱码
    rabbitMQ Connection timed out
    CentOS 7.0,启用iptables防火墙
    linux注销、关机、重启
  • 原文地址:https://www.cnblogs.com/xiao-lin-unit/p/13475104.html
Copyright © 2011-2022 走看看