springboot13:数据库分析

一.数据访问的 使用

1. Sql使用自定义

  1. 导入JDBC依赖
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jdbc</artifactId>
		</dependency>
  • 导入了数据源,导入了事务,jdbc操作
    少了数据库驱动,官方不知道我们要操作数据库
  • 导入mysql驱动(数据库版本和驱动版本对应)
    官方有了版本仲裁8. 版本如果需要5的版本
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
	</dependency>
<mysql.version>8.0.22</mysql.version>(maven的就近依赖原则)
<version>5.1.49</version>-->(maven属性就近优先原则)
  1. 分析自动配置
  • 自动配置的类
    DataSourceAutoConfiguration : 数据源的自动配置
    底层自动配置了数据源HikariDataSource
    DataSourceTransactionManagerAutoConfiguration: 事务管理器的自动配置
    JdbcTemplateAutoConfiguration: JdbcTemplate的自动配置,可以来对数据库进行crud
  • 修改数据源相关的配置:spring.datasource
    spring.jdbc来修改JdbcTemplate
  1. 在配置文件中配置
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/ssm
    username: root
    password: abc123
    driver-class-name: com.mysql.jdbc.Driver
  1. 整合druid数据源
  • 自定义引入数据源
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid</artifactId>
	<version>1.0.31</version>
</dependency>
//@Configuration
public class MyDataSourceConfig {

    //属性和配置文件绑定()
    @ConfigurationProperties("spring.datasource")
    //默认的自动配置数据源判断容器中没有数据源(此时已有数据源)
    @Bean
    public DataSource dataSource(){

        DruidDataSource druidDataSource = new DruidDataSource();
//        druidDataSource.setUrl();
//        druidDataSource.setUsername();
        return druidDataSource;
    }

2.使用官方starter

  1. 引入starter
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid-spring-boot-starter</artifactId>
	<version>1.1.17</version>
</dependency>
  1. 判断引入了什么
  • DruidSpringAopConfiguration 监控springBean组件的配置
    spring.datasource.druid.aop-patterns配置项
  • DruidStatViewServletConfiguration.class, 监控页的配置:spring.datasource.druid.stat-view-servlet;默认开启
  • DruidWebStatFilterConfiguration.class, web监控配置;spring.datasource.druid.web-stat-filter;默认开启
  • DruidFilterConfiguration.class}) 所有Druid自己filter的配置
  1. 配置功能即可
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/db_account
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver

    druid:
      aop-patterns: com.atguigu.admin.*  #监控SpringBean
      filters: stat,wall     # 底层开启功能,stat(sql监控),wall(防火墙)

      stat-view-servlet:   # 配置监控页功能
        enabled: true
        login-username: admin
        login-password: admin
        resetEnable: false

      web-stat-filter:  # 监控web
        enabled: true
        urlPattern: /*
        exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'


      filter:
        stat:    # 对上面filters里面的stat的详细配置
          slow-sql-millis: 1000
          logSlowSql: true
          enabled: true
        wall:
          enabled: true
          config:
            drop-table-allow: false

二.整合mybatis xml

  1. 引入starter
<dependency>
		<groupId>org.mybatis.spring.boot</groupId>
		<artifactId>mybatis-spring-boot-starter</artifactId>
		<version>2.1.4</version>
	</dependency>
  1. 配置模式
  • 以前:全局配置文件,sqlsessionFactory,sqlsession,mapper
  • 导入starter,看帮我们配置了什么
  • mybatis配置项绑定类最后prefix=mybatis.xxxx
  • 给容器中放了sqlsessionFactory
  • 自动配置了sqlsessionTemplate组合了sqlsession
  • 配置了AutoConfiguredMapperScannerRegistrar
  • mapper:写的操作mybatis的接口标注了@mapper就会自动配置进来
  1. 具体使用
  • 导入mybatis官方starter
  • 指定全局配置文件位置和sql映射位置
mybatis:
  config-location: classpath:mybatis/mybatis-config.xml
  mapper-locations: classpath:mybatis/mapper/*.xml
  • 编写mapper接口(@mapper注解),绑定xml映射文件
  • 在springboot全局配置文件中声明(同2),即可以指定mapper配置文件的位置,也可以指定mybatis全局配置文件的信息(建议不写全局配置文件,直接配置在mybatis.configuration标签下)

三.整合mybatis注解

  • 准备表准备javabean封装属性
  • 准备mapper接口(@mapper)
    • @Select注解直接绑定mapper方法
  • 也可以再用xml来绑定方法

四.最佳实战

  • 引入mybatis-starter
  • 配置application.yaml中的mapper-location位置即可
  • 编写mapper接口并标注@mapper注解
    • 简单方法 直接注解方式
    • 复杂方法 编写mapper.xml绑定映射
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值