1、pom.xml
<dependencies>
<!-- springboot 和 mybatis 整合jar -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</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>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2、项目代码结构
3、重要代码
3-1 接口格式mapper
package com.example.springboottest.mapper;
// ... 省略
@Mapper // mapper接口
public interface MyClassMapper {
List<MyClass> findAll();
}
3-2 xml格式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.example.springboottest.mapper.MyClassMapper">
<select id="findAll" resultType="com.example.springboottest.entity.MyClass">
select id,name from myclass
</select>
</mapper>
3-3 在 application.properties 中配置xml格式所在位置
# 数据库连接相关信息
spring.datasource.password=***
spring.datasource.username=***
spring.datasource.url=jdbc:mysql://localhost:3306/***?serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# *** 改成自己的数据库相关信息即可
#打印mybatis SQL语句
logging.level.com.example.springboottest.mapper=debug
#指定xml格式mapper所在位置
mybatis.mapper-locations=classpath:com/example/springboottest/mapper/*Mapper.xml
3-4 在 springboot启动类中配置要扫描的接口格式mapper所在的包
package com.example.springboottest;
// ... 省略
@SpringBootApplication
@MapperScan("com.example.springboottest.mapper") // 指定springboot要扫描的mapper接口
public class SpringbootTestApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootTestApplication.class, args);
}
}
3-5 测试类
package com.example.springboottest;
// ... 省略
@SpringBootTest
class SpringbootTestApplicationTests {
@Autowired(required = false)
private MyClassMapper myClassMapper;
@Test
void testFindAll() {
List<MyClass> all = myClassMapper.findAll();
for(MyClass myClass:all){
System.out.println("班级信息:"+myClass);
}
}
}
此文希望可以帮助到大家。如有错误,请指教。
如果大家还有其他的情况或者好的解决方法,也望指教,感谢阅读