第七次的服务端课程:hibernate,jpa,springdata

1:回顾

1:方便测试

  • 得到的接口

2:方便更换数据源

  • 不能更换数据源

3:方便更换持久化实现层

  • 可以的

4:屏蔽数据访问异常

  • 屏蔽不了
  • spring 转成了 runtime 异常,业务层想抓还是抓得到的

5:模板方法模式

6:spring提供的配置元bean 有哪些

在这里插入图片描述

将sql exception统一再进行处理,业务层不会catch到任何相关的异常

  • 错的

2:新知识

1:hibernate

  • hibernate 针对于Java的对象,以及对象的属性
  • HcreateCriteria
  • 原始的sql语句

2:注解

  • repository
    • 第一个是component的作用
    • 第二个是抛出的异常可以转化为spring的统一异常,以spring.framwork
    • 前提是需要引入一个bean
  • service
  • controller
  • 都有 compoent的效果

3:JPA

  • javax.persistance.entityManager
        <dependency><groupId>org.hibernategroupId><artifactId>hibernate-entitymanagerartifactId><version>4.0.1.Finalversion>dependency>

4:springdataJPA

  • 解决什么问题呢?

    • 把create read update delete 给你实现好
  • 只需要定义一个reporisoty接口就可以了

    • 定义了 findAll

    • 继承了CRUD类

    • 最终是repository,称为叫marker interface ,标签

      • componentScan,指定一个类,就会把这个类同层级的都搜一遍,定义一个空的接口,称为这个标签,没有其他的价值。

      • 1:默认的18 个方法都帮你实现了

      • 2:你可以定义一些方法的原型,签名,背后的实现spring帮你做

        • findByUsername(String name)
        • DSL,领域特定语言,动词+主题+断言
      • 3:自己定义一个select 语句,和自己的方法关联在一起

        • @Query("select * from Splitter where s.email = “beibei@”)
        • List findAllGmailSpitters()
      • 4:自己实现一个类,额外的操作,拿到一个entityManager

        • 自己实现一个方法

        • dry 原则,不要重复你自己

        • public int eliteSweep(){

public interface SpittleRepository extends JpaRepository<Spittle, Long>, SpittleRepositoryCustom
  • long 是主键
  • spittle 就是表,也是你Java的类

在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部