springBoot 集成 Mybatis

springBoot 集成 Mybatis

  1. 導入依賴

    可以用IDEA創建的時候導入,也可以後期導入

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
   <version>2.1.1</version>
</dependency>

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <scope>runtime</scope>
</dependency>
<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
   <optional>true</optional>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
   <exclusions>
      <exclusion>
         <groupId>org.junit.vintage</groupId>
         <artifactId>junit-vintage-engine</artifactId>
      </exclusion>
   </exclusions>
</dependency>

<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>druid</artifactId>
   <version>1.1.21</version>
</dependency>
      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <scope>test</scope>
      </dependency>

<!-- log start -->
<dependency>
   <groupId>log4j</groupId>
   <artifactId>log4j</artifactId>
   <version>1.2.12</version>
</dependency>
<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-log4j12</artifactId>
</dependency>
  1. 配置連接池

    @ConfigurationProperties(prefix = "spring.datasource")
    @Bean
    public DruidDataSource druidDataSource(){
        return new DruidDataSource();
    }
    
  2. 用到的配置文件

    server:
      port: 80
    
    
    spring:
      datasource:
        #數據源基本配置
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://localhost:3306/syxy?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
        username: root
        password: root
        #數據源其他配置
        initialSize: 5
        minIdle: 5
        maxActive: 20
        maxWait: 60000
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT 1 FROM DUAL
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        #配置監控統計攔截的filters,去掉後監控界面sql無法統計,'wall'用於防火牆
        filters: stat,wall
        maxPoolPreparedStatementPerConnectionSize: 20
        useGlobalDataSourceStat: true
        connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
    
    #mybatis的配置
    mybatis:
      typeAliasesPackage: chang.pojo
    # 這個包的日爲debug,可以打印SQL語句
    logging:
      level:
        chang:
          mapper: debug
    
  3. druid 的監控配置

    /**
     * 配置監控服務器
     * @return 返回監控註冊的servlet對象
     * @author SimpleWu
     */
    @Bean
    public ServletRegistrationBean statViewServlet() {
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
        // 添加IP白名單
        servletRegistrationBean.addInitParameter("allow", "127.0.0.1");
        // 添加IP黑名單,當白名單和黑名單重複時,黑名單優先級更高
        servletRegistrationBean.addInitParameter("deny", "127.0.0.2");
        // 添加控制檯管理用戶
        servletRegistrationBean.addInitParameter("loginUsername", "root");
        servletRegistrationBean.addInitParameter("loginPassword", "123456");
        // 是否能夠重置數據
        servletRegistrationBean.addInitParameter("resetEnable", "false");
        return servletRegistrationBean;
    }
    
    /**
     * 配置服務過濾器
     *
     * @return 返回過濾器配置對象
     */
    @Bean
    public FilterRegistrationBean statFilter() {
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
        // 添加過濾規則
        filterRegistrationBean.addUrlPatterns("/*");
        // 忽略過濾格式
        filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*,");
        return filterRegistrationBean;
    }
    

參考博客:

Druid配置https://www.cnblogs.com/SimpleWu/p/10049825.html

JDBCTemplate的使用 https://blog.csdn.net/qq_23329167/article/details/81841996

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章