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

  • 相关阅读:
    window7 上创建定时任务来运行自动化脚本
    初试接口测试
    list tuple dict (列表,元祖,字典间的相互转换)
    防止忘记的一些博客
    [python] 常用正则表达式爬取网页信息及分析HTML标签总结
    python正则表达式提取字符串
    关于json的dump和dumps
    三月23日测试Fiddler
    第六章 部署Python开发的web业务
    第五节 Nginx集群
  • 原文地址:https://www.cnblogs.com/xiao-lin-unit/p/13475104.html
Copyright © 2011-2022 走看看