一篇超詳細的Spring Boot整合Mybatis文章
配置文件形式
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.4.4</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.keafmd</groupId> <artifactId>spring-boot-09-mybatis</artifactId> <version>0.0.1-SNAPSHOT</version> <name>spring-boot-09-mybatis</name> <description>Demo project for Spring Boot</description> <properties> <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> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
配置數據源
在yml文件中配置數據源。
application.yml:
server: port: 80 # 配置數據源 spring: datasource: url: jdbc:mysql://127.0.0.1:3306/ssm-java1?useSSL=false driver-class-name: com.mysql.cj.jdbc.Driver username: root password: 18044229 # 整合mybatis mybatis: # typeAliasesPackage: com.neuedu.entity mapper-locations: classpath*:com/neuedu/boot/mapper/*.xml
UserMapper.xml
這裡註意!!!:一定是和UserMapper相同的目錄,是個三級目錄,創建時仿照這樣創建com/keafm/mapper(正確的) 別這樣com.keafam.mapper(錯誤的),這樣錯誤的創建的話,是個一級目錄,不是三級的,後面運行的時候可能會提示找不到Mapper。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.keafmd.mapper.UserMapper"> <select id="list" resultType="map"> select * from user </select> </mapper>
UserMapper
package com.keafmd.mapper; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * Keafmd * * @ClassName: UserMapper * @Description: * @author: 牛哄哄的柯南 * @Date: 2021-04-08 16:09 * @Blog: https://keafmd.blog.csdn.net/ */ public interface UserMapper { List list(); }
配置springboot整合mybatis
在application.yml中配置:
# 整合mybatis mybatis: # typeAliasesPackage: com.neuedu.entity mapper-locations: classpath*:com/neuedu/boot/mapper/*.xml
在運行類上添加@MapperScan註解
SpringBoot09MybatisApplication:
package com.keafmd; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.keafmd.mapper") public class SpringBoot09MybatisApplication { public static void main(String[] args) { SpringApplication.run(SpringBoot09MybatisApplication.class, args); } }
測試類
UserMapperTest :
package com.keafmd.mapper; import com.keafmd.SpringBoot09MybatisApplication; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.List; import static org.junit.jupiter.api.Assertions.*; @SpringBootTest(classes = SpringBoot09MybatisApplication.class) class UserMapperTest { @Autowired UserMapper userMapper; @Test void list(){ List list = userMapper.list(); for (Object o : list) { System.out.println(o); } } }
效果
總結
本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!
推薦閱讀:
- Spring Boot 整合 TKMybatis 二次簡化持久層代碼的實現
- 使用IDEA配置Mybatis-Plus框架圖文詳解
- Easycode自動化springboot的curd
- springboot多模塊化整合mybatis,mapper自動註入失敗問題及解決
- 數據庫CURD必備搭檔mybatis plus詳解