SpringBoot2.0整合Mybatis(簡單配置druid及pagehelper)
SpringBoot是目前比較火的一款web應用開發的解決方案,詳細的介紹可以瀏覽Spring boot官網https://spring.io/projects/spring-boot
總的來說,它是一款約定大於配置的框架,集成了歷來Spring的優秀產品,也可以和很多開源框架完美整合。
本人也是剛剛接觸Spring Boot,幾個月前使用Spring boot整合Mybatis完成了畢業設計的APP的後臺系統。現在重新再來學習Springboot並總結一些內容。
之前使用的Spring Boot版本是2.0.1,在整合Druid的時候需要寫配置類(這應該跟Druid的版本有關係,當時用的版本比較低),對於小白來說還是比較複雜的,而且
的版本剛出來,也沒有深入去了解版本的差異,只能查閱2.0的資料,但無奈踩坑的人還比較少,可以採納的資料也不多,只能自己摸索。
但本文搭建的Spring Boot是2.0.2版本,在整合druid的時候卻不需要再去寫配置類,直接在application.yml中寫好配置的引數即可。此外,IDE使用的是IDEA+maven下面是詳細的內容
1.建立新專案
輸入你專案的資訊,選擇以上的幾個框架或更多即可完成專案的建立
2.新增Jar包,在pom.xml中
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.wmj</groupId> <artifactId>blog</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>blog</name> <description>blog web app</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-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>1.3.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-joda</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-parameter-names</artifactId> </dependency> <!-- 分頁外掛 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency> <!-- alibaba的druid資料庫連線池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.9</version> </dependency> <dependency> <groupId>org.apache.directory.studio</groupId> <artifactId>org.apache.commons.codec</artifactId> <version>1.8</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
以上是詳細的pom.xml檔案
3.配置application.yml我這裡把application。properties改成了yml檔案
server: port: 8989 spring: datasource: name: mysql_blog type: com.alibaba.druid.pool.DruidDataSource druid: filters: stat driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf-8&useSSL=true username: root password: 1234 initial-size: 1 min-idle: 1 max-active: 20 max-wait: 60000 time-between-eviction-runs-millis: 60000 min-evictable-idle-time-millis: 300000 validation-query: SELECT 'x' test-while-idle: true test-on-borrow: false test-on-return: false pool-prepared-statements: false max-pool-prepared-statement-per-connection-size: 20 mvc: view: prefix: / suffix: .html mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.wmj.blog.entity pagehelper: helper-dialect: mysql reasonable: true support-methods-arguments: true params: count==countSql
注意上面的引數、路徑和檔名的不同,修改為自己的
應該不需要詳細的解釋,看關鍵字就可以明白大概的意思
4.新增dao包的路徑在啟動類中,框架可以找到你的dao
5.專案目錄結構
注意自己的包一定要和啟動類同一級
以上就是Spring Boot整合mybatis的基本搭建的內容,如有問題、建議、批評可以留言,本人小白一切皆可接收並去學習,歡迎大家指正,先謝過各位。
附:專案原始碼:https://github.com/WeiMJ1996/SpringBoot-Mybatis
關於pagehelper的使用裡面也有簡單的例子。