当前位置: 首页>编程语言>正文

spring boot对接ocean base spring boot dao

关于springboot:mybatis,jdbc,spring DATA jpa相关

1.springboot

默认是采用了Spring DATA来进行数据处理

jdbc的springboot整合数据源暂时不了解,直接看后面的重点,整个mybatis、jpa的

2.druid

在properties文件里面,写的一些配置默认是跟java的配置类的属性有映射关系的

但是如果写一些关于最大容量阿等等一些在.properties文件里面显示的是黄色的文件,那么说明这些配置并不能跟配置类的属性对应,那么现在就要自己把这些属性给配置了(自己return一个配置类到容器中)

3.druid监控

配置一个管理后台的servlet

配置一个监控的filter

这里有点类似dubbo,这里是一个druid自己的监控后台

4. mybatis整合

关于使用注解版来进行mybatis的查询工作,之前没接触过,现在记录一下

在 mapper类上面加注解@Mapper表示这是跟之前一样的是一个mapper类

然后你下面的方法的类型,之前的是有比如<select>标签,现在直接用注解

@Select搞定,然后后面直接写句子,这样写的话太爽了

插入以后返回的json是不包含自增id的,这个时候mybatis也是有一个@Options设置可以返回自增id

如果是一个mapper的类,你可以加@Mapper,但是这样太麻烦了,直接可以在application上加一个

@MapperScan(把这个包的类路径全部扫进来)进行批量扫描

5.xml方式

xml方式有动态sql,但是普通的sql语句是可以写注解方式的

一般情况下还是不推荐sql混写,为了集中管理所以这里还是把sql全部写在sql里面吧

6.spring DATA JPA

其是封装的Hibernate,不关mybatis的事

这里还是跟hibernate一样,是ORM,object-relation-mapping,就是调用API

7.使用JPA注解

分为三个部分:

1)实体类

①@Entity告诉JPA这是一个实体类

②@Table(name="")告诉JPA跟哪个表是映射关系,如果省略,表名就是默认小写

③@Id、@GeneratedValue(Strategy = GenerationType.IDENTITY),可以设置主键,自增,以及策略

④@Cloumn,设置列名等

2)接口

在JPA里面,我们创建了实体类有以后,还要创建接口,然后写实现类,这个接口需要继承JpaRepository,这样就可以进行crud,以及排序和分页功能

①接口泛型param1,需要操作哪个实体类

②接口泛型param2,操作的实体类的主键泛型

③配置,在application配置里面可以设置jpa的一些策略,比如第一次启动的时候判断有没有表,没有的话就创建/更新表

3)实现,直接就是使用标注了@Repository的接口,这里spring会自动使用动态代理来实现

这里相比mybatis肯定是简单一些的

8.springboot-starter

starter:

1)、我们的场景需要的依赖

2)、如何编写自动配置,一般来说都是这样:

①@Configuration:指定这个类是一个配置类

②ConditionnalOnXXX:什么条件下生效

③AutoConfigureAfter:指定自动配置类的顺序

④Bean:给容器中添加组件

⑤ConfigurationProperties:结合相关的xxxProperties类来绑定这个配置到某个实体类上

⑥EnableConfigurationProperties:让properties的实体配置类生效,加入到容器中

9.自定义starter

spring boot对接ocean base spring boot dao,spring boot对接ocean base spring boot dao_springboot,第1张

我们自己写一个modules,然后在另一个modules里面就可以直接用mavne把这个modules依赖进来就可以了

我们自己写一个starter,然后把aotuconfigurer依赖进来,然后在把这个自定义的module(starter&configurer)使用maven加到maven仓库里面,这样使用别的springboot工程就可以直接使用这个自定义的启动器了

其实自定义starter的过程,就是一个springboot的一个设计精髓

10.小结

springboot核心到此结束,接下来进入进阶技术

关于springboot和各种分布式技术的整合,在github的springboot首页的samples里面都有

之后在使用dao层技术的时候,注意mybatis-plus,类似JPA的技术不用写sql肯定用起来要爽一些阿,除非是一些定制sql


https://www.xamrdz.com/lan/5jb1962530.html

相关文章: