質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

MyBatis

MyBatisはJavaや.NET Frameworkでなどで使用できる、SQL文や、ストアドプロシージャをオブジェクトと紐付けるO/Rマッピングフレームワークです。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

2回答

6031閲覧

Spring Boot + MyBatisでMapperクラスが見つからないとエラーが出る

takuson

総合スコア36

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

MyBatis

MyBatisはJavaや.NET Frameworkでなどで使用できる、SQL文や、ストアドプロシージャをオブジェクトと紐付けるO/Rマッピングフレームワークです。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2023/04/25 15:21

Spring Boot + mybatisでDB接続したい

  • DBのCRUDを実行する

前提

「Spring Boot」「MyBatis」初心者です
以下のサイトを参考にプロジェクトを作成し、実行したところエラーが発生しました
参考サイト:https://medium-company.com/mybatis-spring/

発生している問題・エラーメッセージ

Description: Field userInfoMapper in com.example.demo.service.UserInfoService required a bean of type 'com.example.demo.dao.UserInfoMapper' that could not be found. The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true) Action: Consider defining a bean of type 'com.example.demo.dao.UserInfoMapper' in your configuration.

該当のソースコード

基本的に参考サイトのコピペなのと、文字数制限のため一部ソースのみ記載します
※必要に応じて追加します
イメージ説明

pom.xml

1<?xml version="1.0" encoding="UTF-8"?> 2<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 <parent> 6 <groupId>org.springframework.boot</groupId> 7 <artifactId>spring-boot-starter-parent</artifactId> 8 <version>3.0.6</version> 9 <relativePath/> <!-- lookup parent from repository --> 10 </parent> 11 <groupId>com.example</groupId> 12 <artifactId>SpringMybatis</artifactId> 13 <version>0.0.1-SNAPSHOT</version> 14 <packaging>war</packaging> 15 <name>SpringMybatis</name> 16 <description>Demo project for Spring Boot</description> 17 <properties> 18 <java.version>17</java.version> 19 </properties> 20 <dependencies> 21 <dependency> 22 <groupId>org.springframework.boot</groupId> 23 <artifactId>spring-boot-starter-data-jpa</artifactId> 24 </dependency> 25 <dependency> 26 <groupId>org.springframework.boot</groupId> 27 <artifactId>spring-boot-starter-thymeleaf</artifactId> 28 </dependency> 29 <dependency> 30 <groupId>org.springframework.boot</groupId> 31 <artifactId>spring-boot-starter-validation</artifactId> 32 </dependency> 33 <dependency> 34 <groupId>org.springframework.boot</groupId> 35 <artifactId>spring-boot-starter-web</artifactId> 36 </dependency> 37 38 <dependency> 39 <groupId>org.springframework.boot</groupId> 40 <artifactId>spring-boot-devtools</artifactId> 41 <scope>runtime</scope> 42 <optional>true</optional> 43 </dependency> 44 <dependency> 45 <groupId>org.postgresql</groupId> 46 <artifactId>postgresql</artifactId> 47 <scope>runtime</scope> 48 </dependency> 49 <dependency> 50 <groupId>org.projectlombok</groupId> 51 <artifactId>lombok</artifactId> 52 <optional>true</optional> 53 </dependency> 54 <dependency> 55 <groupId>org.springframework.boot</groupId> 56 <artifactId>spring-boot-starter-tomcat</artifactId> 57 <scope>provided</scope> 58 </dependency> 59 <dependency> 60 <groupId>org.springframework.boot</groupId> 61 <artifactId>spring-boot-starter-test</artifactId> 62 <scope>test</scope> 63 </dependency> 64 <dependency> 65 <groupId>org.mybatis.spring.boot</groupId> 66 <artifactId>mybatis-spring-boot-starter</artifactId> 67 <version>2.2.2</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 <configuration> 77 <excludes> 78 <exclude> 79 <groupId>org.projectlombok</groupId> 80 <artifactId>lombok</artifactId> 81 </exclude> 82 </excludes> 83 </configuration> 84 </plugin> 85 </plugins> 86 </build> 87 88</project> 89

試したこと

・application.propertiesに「mybatis.mapper-locations」の記載を追加 → 変化なし

application.properties

1mybatis.mapper-locations=classpath*:com/example/demo/dao/*.xml

補足情報(FW/ツールのバージョンなど)

・eclipse 2023-03
・PostgresSQL 15.2.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takuson

2023/04/28 12:27

先んじて結果だけ記載します pom.xmlの各バージョンを変更+不足ライブラリーを追加したところ動作いたしました 正式な回答に関しては後日記載いたします
guest

回答2

0

自己解決

コメント欄のKT001さんの内容をきっかけに解決しました
[解決方法]
①. pom.xmlを修正する
→ mybatisのバージョンを3.0.0にする
→com.h2databaseを追加する
[修正後のpom.xml]

pom.xml

1<?xml version="1.0" encoding="UTF-8"?> 2<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 <parent> 6 <groupId>org.springframework.boot</groupId> 7 <artifactId>spring-boot-starter-parent</artifactId> 8 <version>3.0.6</version> 9 <relativePath/> <!-- lookup parent from repository --> 10 </parent> 11 <groupId>com.example</groupId> 12 <artifactId>SpringMybatis</artifactId> 13 <version>0.0.1-SNAPSHOT</version> 14 <packaging>war</packaging> 15 <name>SpringMybatis</name> 16 <description>Demo project for Spring Boot</description> 17 <properties> 18 <java.version>17</java.version> 19 </properties> 20 <dependencies> 21 <dependency> 22 <groupId>org.springframework.boot</groupId> 23 <artifactId>spring-boot-starter-data-jpa</artifactId> 24 </dependency> 25 <dependency> 26 <groupId>org.springframework.boot</groupId> 27 <artifactId>spring-boot-starter-thymeleaf</artifactId> 28 </dependency> 29 <dependency> 30 <groupId>org.springframework.boot</groupId> 31 <artifactId>spring-boot-starter-validation</artifactId> 32 </dependency> 33 <dependency> 34 <groupId>org.springframework.boot</groupId> 35 <artifactId>spring-boot-starter-web</artifactId> 36 </dependency> 37 38 <dependency> 39 <groupId>org.springframework.boot</groupId> 40 <artifactId>spring-boot-devtools</artifactId> 41 <scope>runtime</scope> 42 <optional>true</optional> 43 </dependency> 44 <dependency> 45 <groupId>org.postgresql</groupId> 46 <artifactId>postgresql</artifactId> 47 <scope>runtime</scope> 48 </dependency> 49 <dependency> 50 <groupId>org.projectlombok</groupId> 51 <artifactId>lombok</artifactId> 52 <optional>true</optional> 53 </dependency> 54 <dependency> 55 <groupId>org.springframework.boot</groupId> 56 <artifactId>spring-boot-starter-tomcat</artifactId> 57 <scope>provided</scope> 58 </dependency> 59 <dependency> 60 <groupId>org.springframework.boot</groupId> 61 <artifactId>spring-boot-starter-test</artifactId> 62 <scope>test</scope> 63 </dependency> 64 <dependency> 65 <groupId>org.mybatis.spring.boot</groupId> 66 <artifactId>mybatis-spring-boot-starter</artifactId> 67 <version>3.0.0</version> 68 </dependency> 69 <dependency> 70 <groupId>com.h2database</groupId> 71 <artifactId>h2</artifactId> 72 <scope>runtime</scope> 73 </dependency> 74 </dependencies> 75 76 <build> 77 <plugins> 78 <plugin> 79 <groupId>org.springframework.boot</groupId> 80 <artifactId>spring-boot-maven-plugin</artifactId> 81 <configuration> 82 <excludes> 83 <exclude> 84 <groupId>org.projectlombok</groupId> 85 <artifactId>lombok</artifactId> 86 </exclude> 87 </excludes> 88 </configuration> 89 </plugin> 90 </plugins> 91 </build> 92</project>

②. UserInfoControllerクラスの@GetMappingのvalueに記載されているパスの先頭からスラッシュを削除する
なお、@RequestMappingなどは適切なアノテーションに置き換える必要がある

投稿2023/04/30 10:59

takuson

総合スコア36

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

mainクラスの同列以下のディレクトリにあるクラスしか読み込まないので、SpringMybatisApllication.javaを上の階層に移動したら起動しないですかね?

投稿2023/04/26 17:41

junzi

総合スコア279

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takuson

2023/04/27 05:12

試しに SpringMybatisApllication.java をcom.example → com に移動してみましたが、変わりませんでした
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問