SpringBoot成神之路--15.数据访问及druid数据源及注解和xml的mybatis及JPA操作数据库

目录

 

一、springboot与数据访问

1、项目Coding(使用默认的jdbc)

数据库自动配置原理 

 二、高级配置:使用druid数据源

 三、mybatis整合

注解方式配置mapper

配置文件xml管理所有SQL语句 

 四、SpringData

基于JPA(规范) 


一、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

 运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值