SpringBoot整合后端项目-1.项目初始化、集成数据库访问

前言

该系列文章,是我从零搭建一套后端项目的经验总结。
没有过多的流程梳理和细节描写,目的也是对所学技术的一个总结和巩固。
内容大多包括实现思路,实现要点、注意事项和一些个人心得,希望对各位看官有所帮助。

转载请注明来源

1.内容:

1.建立空白的springBoot项目,建立好目录:
SpringBoot整合后端项目-1.项目初始化、集成数据库访问_第1张图片
2.注入相关依赖:mybatis,mysql,druid,web(包括mvc相关)

<!--web 包含 spring-web/webmvc-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!--mybatis,内含 spring-jdbc-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>${
     mybatis.version}</version>
</dependency>
<!--阿里druid-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>${
     druid.version}</version>
</dependency>
<!--mysql-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
    <version>${
     mysql.version}</version>
</dependency>

3.druid配置:

server:
  port: 8080
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/boms?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
    username: root
    password: 123456
    druid:
      #初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时,默认值为0
      initial-size: 10
      #最大连接池数量,默认值为8
      max-active: 10
      #最小连接池数量
      min-idle: 1
      #获取连接时最大等待时间,单位毫秒
      max-wait: 6000
      #是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。默认值为false
      pool-prepared-statements: true
      #要启用PSCache,必须配置大于0,当大于0时,要启用PSCache自动触发修改为true
      max-open-prepared-statements: 100
      #用来检测连接是否有效的sql
      validation-query: SELECT 1 FROM DUAL
      #申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。默认值为false
      test-while-idle: true
      #申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。默认值为true
      test-on-borrow: false
      #归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能默认值为false
      test-on-return: false
      #有两个含义:1) Destroy线程会检测连接的间隔时间 2) testWhileIdle的判断依据,详细看testWhileIdle属性的说明
      time-between-eviction-runs-millis: 60000
      #
      min-evictable-idle-time-millis: 300000

4.mybatis配置
xml配置:扫描位置、实体类的包位置、开启驼峰

mybatis:
  mapper-locations: classpath:mapper/**/*.xml
  type-aliases-package: com.example.frame.po
  configuration:
      map-underscore-to-camel-case: true

启动类配置,扫描的包路径
SpringBoot整合后端项目-1.项目初始化、集成数据库访问_第2张图片

2.注意事项:

1.通过 profile active来配置将要使用的配置文件。
SpringBoot整合后端项目-1.项目初始化、集成数据库访问_第3张图片
2.创建项目的时候注意修改 maven 依赖地址,不然容易依赖出错。
SpringBoot整合后端项目-1.项目初始化、集成数据库访问_第4张图片
3. 报错(EmbeddedDatabaseType):说明没有引入 jdbc依赖包。引入了mybatis就不用引入jdbc,mybatis下包含了jdbc依赖。
java.lang.ClassNotFoundException: org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType

4.打印sql,有两种方式,mybatis的优先级高于log。
一种是mybatis集成:
SpringBoot整合后端项目-1.项目初始化、集成数据库访问_第5张图片
一种是logging集成: com.example.frame.mapper 是 操作数据库的接口类
在这里插入图片描述

你可能感兴趣的:(SpringBoot,SpringBoot,Java,项目初始化,集成数据库)