• springboot13:数据库分析


    一.数据访问的 使用

    1. Sql使用自定义

    1. 导入JDBC依赖
    		<dependency>
    			<groupId>org.springframework.bootgroupId>
    			<artifactId>spring-boot-starter-data-jdbcartifactId>
    		dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 导入了数据源,导入了事务,jdbc操作
      少了数据库驱动,官方不知道我们要操作数据库
    • 导入mysql驱动(数据库版本和驱动版本对应)
      官方有了版本仲裁8. 版本如果需要5的版本
    	<dependency>
    		<groupId>mysqlgroupId>
    		<artifactId>mysql-connector-javaartifactId>
    	dependency>
    
    • 1
    • 2
    • 3
    • 4
    <mysql.version>8.0.22mysql.version>(maven的就近依赖原则)
    <version>5.1.49version>-->(maven属性就近优先原则)
    
    • 1
    • 2
    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
    • 2
    • 3
    • 4
    • 5
    • 6
    1. 整合druid数据源
    • 自定义引入数据源
    >
    	>com.alibaba>
    	>druid>
    	>1.0.31>
    >
    
    • 1
    • 2
    • 3
    • 4
    • 5
    //@Configuration
    public class MyDataSourceConfig {
    
        //属性和配置文件绑定()
        @ConfigurationProperties("spring.datasource")
        //默认的自动配置数据源判断容器中没有数据源(此时已有数据源)
        @Bean
        public DataSource dataSource(){
    
            DruidDataSource druidDataSource = new DruidDataSource();
    //        druidDataSource.setUrl();
    //        druidDataSource.setUsername();
            return druidDataSource;
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    2.使用官方starter

    1. 引入starter
    >
    	>com.alibaba>
    	>druid-spring-boot-starter>
    	>1.1.17>
    >
    
    • 1
    • 2
    • 3
    • 4
    • 5
    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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    二.整合mybatis xml

    1. 引入starter
    >
    		>org.mybatis.spring.boot>
    		>mybatis-spring-boot-starter>
    		>2.1.4>
    	>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    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
    
    • 1
    • 2
    • 3
    • 编写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绑定映射
  • 相关阅读:
    clickonce 发布的winform 如何CA认证?
    西安mPEG-DSPE磷脂聚乙二醇_CAS:178744-28-0供应商价格
    Golang 本地缓存选型对比及原理总结
    电源模块测试用例科普:如何调整电压调整率?ATECLOUD-POWER测试系统能否测试?
    云服务器使用及Linux基本命令
    Web 1.0、Web 2.0 和 Web 3.0 之间的比较
    LeetCode //C - 173. Binary Search Tree Iterator
    51单片机项目(10)——基于51单片机的电压计
    【unity与android的交互(一)】安卓打包相关的常见参数详解
    Java从零到就业一站通关,解决你的担忧
  • 原文地址:https://blog.csdn.net/qq_44724899/article/details/127897526