一、springboot整合mybatis的方法
和ssm一样的老规矩,需要使用@service,@Mapper,@Controller等注解,但是具有一定的使用区别,网上很多都是一个层(service,serviceImpl,dao)针对写一个注解的方式,假如有很多个实体以及对应的各个层的方法,那么书写起来很不方便,所以下面做了基于springboot的统一的处理方法。
我写的是一个分模块的springboot的案例,单个项目的使用方法也是一样的。
整合所需jia包
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
1、逆向工程自动生成
使用mybatis逆向工程生成mapper层,bean层,mapper.xml层,不会使用的话,可以查看我的另一篇文章:springboot整合mybatis逆向工程 解决方案。
https://blog.csdn.net/qq_38762237/article/details/81101205
2、添加各个层之间的注解
A、springboot启动类添加mapper层扫描
@SpringBootApplication
@MapperScan("com.orangesay.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
B、serviceImpl层添加service注解
@Service
public class UserServiceImpl implements UserService {
C、mapper层添加mapper注解
@Mapper
public interface UserMapper {
D、application.properties配置文件加两句话,第一句是扫描所有类路径下的Mapper.xml层,第二个是扫描所有的bean实体类
# mybatis
mybatis.mapper-locations=classpath*:mapper/*.xml
mybatis.type-aliases-package=com.orangesay.bean
整合到此结束!
二、常见错误的处理
错误一:
错误原因:jar包引入缺失,导致扫描不到层的注解,上图是错误信息。
解决方案:添加springboot整合mybatis的jar包
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>