目录
一、springboot与数据访问
JDBC、Mybatis、Spring Data JPA
1、项目Coding(使用默认的jdbc)
创建项目,导入相关jar包
yml配置
测试
数据库自动配置原理
查看类DataSourceConfiguration:该类主要是通过判断来添加相应的数据源
也可以自定义数据源,利用反射创建相应type的数据源,并且绑定相关属性
类DataSourceAutoConfiguration
作用:
runschemescrips();运行建表语句;
rundatascripts();运行插入数据的sql语句;
例如:scheme-*.sql、data-*.sql
使用SQL语句进行测试
启动
在数据库中执行了相关SQL语句
我们也可以自定义路径
配置了自动jdbctemplate
使用jdbctemplate 测试数据库连接
查询结果
二、高级配置:使用druid数据源
引入相关jar包
在配置文件中指定相关的数据源
对于druid数据源的配置
我们可以看到黄色区域这些属性springboot并没有设置进去
将属性配置传入
配置数据源的一些参数
拦截器的配置
运行,登录管理后台
三、mybatis整合
同理创建springboot项目
查看mybatis-springboot-starter的UML类图
使用Druid数据源,配置内容使用上面的
创建数据库表对象
注解方式配置mapper
创建数据库mapper
创建controller层
在mybatis中已经帮我们配好了
现在数据库和mybatis连接之间如果一个采用驼峰法命名一个采用下划线命名,他们就无法识别,因此我们得添加配置使得他们能够识别
但是如果每个mapper都要写一个注解@mapper太麻烦了,所以直接在主类上配置@MapperScan()注解
配置文件xml管理所有SQL语句
创建mapper
创建mybatis配置文件
根据官方文档添加配置
springboot中添加mybatis相关配置
设置启用驼峰命名法
四、SpringData
简介:
spring data 项目的目的是为了简化构建基于spring框架应用的数据访问技术,包括非关系数据库、map-reduce框架、云数据服务等,另外也包括对关系数据库的访问支持
1、springdata特点
springdata为我们提供使用统一的API来对数据访问层进行操作;这主要是springdata commons项目来实现的。spring data commons让我们在使用关系型或者非关系型数据访问技术时都基于spring提供的统一标准,标准包含了CRUD(创建、获取、更新,删除)、查询、排序和分页的相关操作。
2、统一的repository接口
repository<>;统一接口
revisionrepository<>;基于乐观锁机制
crudrepository<>:基于CRUD操作
pagingandSortingRespository<>:基于CRUD及分页
基于JPA(规范)
同理导入相关jar包
配置数据源
创建实体类
编写一个Dao接口来操作实体类对应的数据表(repository)
创建UserRepository
在springboot中配置JPA
所有的JPA的属性赋值都在JpaProperties
启动springboot程序,但是数据库还没有创建tb_user表
这时候在启动程序的时候,就会自动在数据库中创建表
操作JPA进行数据库的CRUD
运行