Spring Boot中的@Mapper注释作用
时间: 2024-05-25 22:13:32 浏览: 21
在Spring Boot中,@Mapper注解是MyBatis框架中的一个注解,它的作用是将Mapper接口标记为一个Mapper对象,使得Mapper接口可以被Spring容器扫描并生成Mapper对象实例,从而可以在代码中通过@Autowired注解进行注入使用。
具体来说,@Mapper注解的作用包括:
1. 标记Mapper接口:@Mapper注解可以将Mapper接口标记为一个Mapper对象,从而告诉Spring容器该接口需要被扫描并生成Mapper对象实例。
2. 生成Mapper对象:Spring在扫描到被@Mapper注解标记的Mapper接口时,会根据接口定义自动生成Mapper接口的实现类,并将其注册为一个Bean对象,以便在其他地方进行注入和使用。
3. 与MapperScan注解配合使用:@Mapper注解通常与MapperScan注解配合使用,MapperScan注解用于指定Mapper接口所在的包路径,从而让Spring容器能够扫描到这些Mapper接口并生成对应的Mapper对象实例。
综上所述,@Mapper注解在Spring Boot中的作用是将Mapper接口标记为一个Mapper对象,使得Mapper接口可以被Spring容器扫描并生成Mapper对象实例,从而可以在代码中通过@Autowired注解进行注入使用。
相关问题
Spring Boot 装配MyBatis Starter
要在Spring Boot项目中使用MyBatis Starter,需要先添加以下依赖项:
```xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
```
然后,需要在application.properties文件中配置数据库连接信息:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
```
接下来,需要创建一个MyBatis映射器接口和一个相应的XML文件。例如,创建一个UserMapper接口和一个user.xml文件:
```java
public interface UserMapper {
@Select("SELECT * FROM user")
List<User> getAllUsers();
}
```
```xml
<mapper namespace="com.example.mapper.UserMapper">
<select id="getAllUsers" resultType="com.example.entity.User">
SELECT * FROM user
</select>
</mapper>
```
最后,需要在Spring Boot的应用程序类上添加@MapperScan注释,以扫描映射器接口:
```java
@SpringBootApplication
@MapperScan("com.example.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
```
现在,就可以在Spring Boot应用程序中使用MyBatis进行数据库操作了。例如,可以像下面这样使用UserMapper接口:
```java
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/users")
public List<User> getAllUsers() {
return userMapper.getAllUsers();
}
}
```
spring boot Invalid bound statement (not found):
"Invalid bound statement (not found)"是Spring Boot中的一个错误消息,表示找不到绑定的语句。这个错误通常发生在使用MyBatis框架时,由于Mapper和对应的XML文件之间的映射关系无法建立导致的。
要解决这个问题,可以从以下几个方面进行排查:
1. 检查Mapper接口或Dao接口中的方法名是否与XML文件中的id对应。确保XML文件中定义的语句id与接口中定义的方法名一致。
2. 检查XML文件中resultType的返回值类型是否与接口方法的返回值类型一致。确保XML文件中定义的返回值类型与接口方法的返回值类型匹配。
3. 检查XML文件中的中文注释是否正确。确保XML文件中的注释与相应的语句一致,以避免造成混淆。
通过仔细检查映射关系,确保Mapper和XML文件之间的对应关系正确,可以解决"Invalid bound statement (not found)"错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [运行SpringBoot:Invalid bound statement (not found):](https://blog.csdn.net/weixin_45812336/article/details/120190726)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [springboot报Invalid bound statement (not found):](https://blog.csdn.net/qq_42346678/article/details/121740718)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)