一篇文章帶你掌握主流辦公框架——SpringBoot( 七 )

整合MyBatis我們如果想要采用SpringBoot整合SSM,那么就需要同時整合以下三門技術:

  • Spring
  • SpringMVC
  • MyBatis
但SpringBoot本身就是為了簡化Spring,SpringMVC而存在,所以這兩部分整合實際上我們已經完成了
所以我們將MyBatis單列出來提前進行整合學習,為后續的SSM整合打下基礎##
Spring整合MyBatisSpring對MyBatis的整合主要從三部分進行:
  • SpringConfig
    • 導入JdbcConfig
    • 導入MyBatisConfig
  • JdbcConfig
    • 定義數據源(加載properties項:driver,url,username,password)
  • MyBatisConfig
    • 定義sqlSessionFactoryBean
    • 定義映射配置
我們在這里就不做贅述了,如果遺忘可以查看之前的MyBatis文章
SpringBoot整合MyBatis我們同樣從頭開始整合:
  1. 創建項目(這次我們需要MyBatis和Mysql兩門技術棧)

一篇文章帶你掌握主流辦公框架——SpringBoot

文章插圖
  1. 查看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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.0</version> </parent> <groupId>com.itheima</groupId> <artifactId>springboot_08_mybatis</artifactId> <version>0.0.1-SNAPSHOT</version> <properties><java.version>1.8</java.version> </properties> <dependencies><!--自動添加MyBatis相關依賴--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version></dependency><!--自動添加mysql相關依賴--><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><!--手動添加druid--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency> </dependencies> <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins> </build></project>
  1. 創建與數據庫相同的實體類
package com.itheima.domain;public class Book {private Integer id;private String name;private String type;private String description;@Overridepublic String toString() {return "Book{" +"id=" + id +", name='" + name + '\'' +", type='" + type + '\'' +", description='" + description + '\'' +'}';}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getType() {return type;}public void setType(String type) {this.type = type;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}}
  1. 數據層實現
package com.itheima.dao;import com.itheima.domain.Book;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Select;// 注意:我們SpringBoot整合中的SpringConfig已經被省略 , 所以我們的JdbcConfig和MyBatisConfig配置類不用配置// JdbcConfig主要用于配置DataSource,我們將會在yaml配置文件中配置// MyBatisConfig配置sqlSessionFactoryBean , 大部分屬于固定代碼,唯一的變量setTypeAliasesPackage我們選擇設置整個代碼包// MyBatisConfig配置MapperScannerConfigurer映射地址,我們選擇在dao數據層采用@Mapper來代替操作@Mapperpublic interface BookDao {@Select("select * from tbl_book where id = #{id}")public Book getById(Integer id);}
  1. 配置數據庫關聯
# 直接配置datasource即可spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTCusername: rootpassword: roottype: com.alibaba.druid.pool.DruidDataSource
  1. 啟動服務器即可
package com.itheima;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class Springboot08MybatisApplication { public static void main(String[] args) {SpringApplication.run(Springboot08MybatisApplication.class, args); }}

推薦閱讀