実現したいこと
プログラムを初めて数か月で言っていることがわからない等、不明点がございましたら申し訳ございません。
MybatisGeneratorを利用して作成したMapperクラスにアノテーションMapperを利用するとエラーが出てしまいますので解決方法、及び原因を教えていただけますと幸いです
発生している問題・分からないこと
下記エラーが出てアノテーションMapperが機能しません。
原因を調べpom.xmlに依存関係を注入したり、
application.propertiesにmybatis.mapper-locations=”~~”
を追加したのですがエラーが解決しないためご教授いただけますと幸いです。
複数テーブルを利用したWEBサイトを作成しており、すべてのMapper.javaファイルにエラーが出ています。
エラーメッセージ
error
1インポートされた org.apache.ibatis.annotations.Mapper は見つかりません
該当のソースコード
Mapper.java
1package com.example.demo.mybatis; 2 3import com.example.demo.entity.domain.AdminUser; 4import com.example.demo.entity.domain.AdminUserExample; 5import com.example.demo.entity.domain.AdminUserKey; 6import java.util.List; 7import org.apache.ibatis.annotations.Mapper; 8import org.apache.ibatis.annotations.Param; 9 10@Mapper 11public interface AdminUserMapper { 12 /** 13 * This method was generated by MyBatis Generator. 14 * This method corresponds to the database table admin_user 15 * 16 * @mbg.generated 17 */ 18 long countByExample(AdminUserExample example); 19 20 /** 21 * This method was generated by MyBatis Generator. 22 * This method corresponds to the database table admin_user 23 * 24 * @mbg.generated 25 */ 26 int deleteByExample(AdminUserExample example); 27 28 /** 29 * This method was generated by MyBatis Generator. 30 * This method corresponds to the database table admin_user 31 * 32 * @mbg.generated 33 */ 34 int deleteByPrimaryKey(AdminUserKey key); 35 36 /** 37 * This method was generated by MyBatis Generator. 38 * This method corresponds to the database table admin_user 39 * 40 * @mbg.generated 41 */ 42 int insert(AdminUser row); 43 44 /** 45 * This method was generated by MyBatis Generator. 46 * This method corresponds to the database table admin_user 47 * 48 * @mbg.generated 49 */ 50 int insertSelective(AdminUser row); 51 52 /** 53 * This method was generated by MyBatis Generator. 54 * This method corresponds to the database table admin_user 55 * 56 * @mbg.generated 57 */ 58 List<AdminUser> selectByExample(AdminUserExample example); 59 60 /** 61 * This method was generated by MyBatis Generator. 62 * This method corresponds to the database table admin_user 63 * 64 * @mbg.generated 65 */ 66 AdminUser selectByPrimaryKey(AdminUserKey key); 67 68 /** 69 * This method was generated by MyBatis Generator. 70 * This method corresponds to the database table admin_user 71 * 72 * @mbg.generated 73 */ 74 int updateByExampleSelective(@Param("row") AdminUser row, @Param("example") AdminUserExample example); 75 76 /** 77 * This method was generated by MyBatis Generator. 78 * This method corresponds to the database table admin_user 79 * 80 * @mbg.generated 81 */ 82 int updateByExample(@Param("row") AdminUser row, @Param("example") AdminUserExample example); 83 84 /** 85 * This method was generated by MyBatis Generator. 86 * This method corresponds to the database table admin_user 87 * 88 * @mbg.generated 89 */ 90 int updateByPrimaryKeySelective(AdminUser row); 91 92 /** 93 * This method was generated by MyBatis Generator. 94 * This method corresponds to the database table admin_user 95 * 96 * @mbg.generated 97 */ 98 int updateByPrimaryKey(AdminUser row); 99}
pom.xml
1<?xml version="1.0" encoding="UTF-8"?> 2<project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 <parent> 7 <groupId>org.springframework.boot</groupId> 8 <artifactId>spring-boot-starter-parent</artifactId> 9 <version>3.2.3</version> 10 <relativePath /> <!-- lookup parent from repository --> 11 </parent> 12 <groupId>com.example</groupId> 13 <artifactId>pro_ec</artifactId> 14 <version>0.0.1-SNAPSHOT</version> 15 <name>pro_ec</name> 16 <description>Demo project for Spring Boot</description> 17 <properties> 18 <java.version>21</java.version> 19 </properties> 20 <dependencies> 21 <dependency> 22 <groupId>org.springframework.boot</groupId> 23 <artifactId>spring-boot-starter-thymeleaf</artifactId> 24 </dependency> 25 <dependency> 26 <groupId>org.springframework.boot</groupId> 27 <artifactId>spring-boot-starter-web</artifactId> 28 </dependency> 29 30 <dependency> 31 <groupId>org.springframework.boot</groupId> 32 <artifactId>spring-boot-devtools</artifactId> 33 <scope>runtime</scope> 34 <optional>true</optional> 35 </dependency> 36 <dependency> 37 <groupId>com.mysql</groupId> 38 <artifactId>mysql-connector-j</artifactId> 39 <scope>runtime</scope> 40 </dependency> 41 <dependency> 42 <groupId>org.springframework.boot</groupId> 43 <artifactId>spring-boot-starter-test</artifactId> 44 <scope>test</scope> 45 </dependency> 46 <dependency> 47 <groupId>org.mybatis</groupId> 48 <artifactId>mybatis</artifactId> 49 <version>3.1.0</version> 50 </dependency> 51 <dependency> 52 <groupId>mysql</groupId> 53 <artifactId>mysql-connector-java</artifactId> 54 <version>8.0.30</version> 55 </dependency> 56 <!-- 57 https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> 58 <dependency> 59 <groupId>org.mybatis.spring.boot</groupId> 60 <artifactId>mybatis-spring-boot-starter</artifactId> 61 <version>3.0.3</version> 62 </dependency> 63 <!-- https://mvnrepository.com/artifact/org.apache.ibatis/ibatis-core --> 64<dependency> 65 <groupId>org.apache.ibatis</groupId> 66 <artifactId>ibatis-core</artifactId> 67 <version>3.0</version> 68</dependency> 69 </dependencies> 70 71 <build> 72 <plugins> 73 <plugin> 74 <groupId>org.springframework.boot</groupId> 75 <artifactId>spring-boot-maven-plugin</artifactId> 76 </plugin> 77 <plugin> 78 <groupId>org.mybatis.generator</groupId> 79 <artifactId>mybatis-generator-maven-plugin</artifactId> 80 <version>1.4.1</version> 81 </plugin> 82 </plugins> 83 84 </build> 85 86</project> 87
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
他試したことですと
Mapperconfigを作成して下記のような形でMapper.javaとxmlが集まっているファイルまでパスを通しました。
package com.example.demo.mybatis;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan("com.example.demo.entity.mybatis")
public class MapperConfig {
}
補足
特になし
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。