目标:集成Mybatis
工具:IDEA–2020.1
学习目标:框架工具集成
本次学习的工程下载链接放到文本最后面
-
新建一个springboot工程
-
设置包名、工程名
-
添加相关依赖
<dependencies>
<!--web依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--整合mybatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.2</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>
<!--lombok依赖-->
<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>
</dependencies>
-
新建完成大致是这样的结构
-
利用工具逆向生成实体类、映射文件、接口映射文件
注意在高版本后xxMapper.xml在 src/main/java一下的任何目录下打成jar包会丢失
如果不想更改的话可以在pom文件
解决找不到映射文件
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
或者放到resources下面
- application.yml文件配置
server:
port: 8090
spring:
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot?serverTimezone=Asia/Shanghai&characterEncoding=utf-8
username: root
password: root
mybatis:
#别名配置
type-aliases-package: com.xmaven.model
#扫描到resources下的.xml文件 *这个不配置,可能导致找不到你的文件 报错如下图
mapper-locations: classpath:mappers/*.xml
- 记得在你的启动类上面加上注解//扫描你的mapper文件,相当于dao
@SpringBootApplication @MapperScan("com.xmaven.mapper") public class SpringbootMybatisApplication { public static void main(String[] args) { SpringApplication.run(SpringbootMybatisApplication.class, args); } }
- 编写Service接口,Service接口的实现类
Service接口:
public interface UserService {
List<User> selectAll();
}
Service接口的实现类:
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserMapper userMapper;
@Override
public List<User> selectAll() {
return this.userMapper.findAll();
}
}
- 编写controller
@RestController @RequestMapping("/user") public class UserController { @Autowired UserService userService; @GetMapping(value="/findAll") public Object find(){ return userService.selectAll(); } }
- 启动项目
访问http://localhost:8090/user/findAll
成功界面如下图所示
评论区