SpringBoot数据层解决方案

● 现有数据层解决方案技术选型
Druid+MyBatis-Plus+Mysql
SpringBoot数据层解决方案_第1张图片

  • 数据源:DruidDataSource
  • 持久化技术:MyBatis-Plus/MyBatis
  • 数据库:Mysql

数据源格式配置

格式一:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db?servierTimezone=UTC
    username: root
    password: root

格式二:

spring:
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/ssm_db?servierTimezone=UTC
      username: root
      password: root

● SpringBoot提供了三种内嵌的数据源对象提供开发者选择

  • HikariCP:默认内置数据源对象
  • Tomcat提供DataSource:HikariCP不可用的情况下,且在web环境中,将使用tomcat的服务器配置的数据源对象
  • Commons DBCP:Hikari不可用,tomcat数据源也不可用,将使用dbcp数据源

● 通用配置无法设置具体的数据源配置信息,仅提供基本的连接相关配置,如需配置,在下一级配置中设置具体设定

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db?servierTimezone=UTC
    username: root
    password: root
    Hikari:
      maximum-pool-size: 50

JdbcTemplate

● 内置持久化解决方案JdbcTemplate

 @Test
    void testJdbcTemplate(@Autowired JdbcTemplate jdbcTemplate){
    String sql="select * from tbl_book where id =3";
    List<Book> query = jdbcTemplate.query(sql, new RowMapper<Book>() {
    @Override
    public Book mapRow(ResultSet rs, int rowNum) throws SQLException {
        Book temp =new Book();
        temp.setId(rs.getInt("id"));
        temp.setName(rs.getString("name"));
        temp.setType(rs.getString("type"));
        temp.setDescription(rs.getString("description"));
          return temp;
          }
    });
      System.out.println(query);
}
<dependency>
		<groupId>org.springframework.bootgroupId>
		<artifactId>spring-boot-starter-jdbcartifactId>
		<scope>testscope>
dependency>

● JdbcTemplate配置

spring:
  jdbc:
    template:
      max-rows: 500     #最大行数
      fetch-size: -1    #缓存行数
      query-timeout: -1 #查询超时时间

内嵌数据库

● SpringBoot提供了3种内嵌数据库供开发者选择,提高开发者效率

  • H2
  • HSQL
  • Derby

● 设置当前项目为web工程,并且配置H2管理控制台参数

server:
  port: 80
spring:
  h2:
    console:
      enabled: true
      path: /h2

● 访问用户名sa,默认密码123456

spring:
  h2:
    console:
      enabled: true
      path: /h2
  datasource:
    url: jdbc:h2:~/test
    Hikari:
#      driver-class-name: org.h2.Driver
      username: sa
      password: 123456

● H2数据库仅用于开发阶段,线上项目请务必关闭控制台功能

spring:
  h2:
    console:
      enabled: false

你可能感兴趣的:(SpringBoot,spring,boot)