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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Spring Batch

Spring Batchは、バッチ処理向けに定義されたオープンソースのフレームワーク。エンタープライズシステムで避けて通れないバッチ処理を可能にします。設定ファイルに別定義することで効率よく開発することがで可能です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

MyBatis

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

Q&A

解決済

1回答

3561閲覧

[Mybatis] 値の取得がわからない。エラー:org.apache.ibatis.reflection.ReflectionException

sui_15

総合スコア24

Spring Batch

Spring Batchは、バッチ処理向けに定義されたオープンソースのフレームワーク。エンタープライズシステムで避けて通れないバッチ処理を可能にします。設定ファイルに別定義することで効率よく開発することがで可能です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

MyBatis

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

0グッド

0クリップ

投稿2022/02/21 01:49

編集2022/02/21 21:23

閲覧ありがとうございます。
mybatisで起きたエラーの対処法について質問させていただきます。

エラー内容

Error

1rg.mybatis.spring.MyBatisSystemException at MainTest.java:20 2 Caused by: org.apache.ibatis.reflection.ReflectionException at MainTest.java:20

値がないとのことでエラーが起きていると思われます。
したがって、値の取得方法についてご教授願います。

java

1public class FoodsParam{ 2 @Id 3 @GeneratedValue(strategy = GenerationType.IDENTITY) 4 private Integer id; 5 @Column(nullable = false) 6 private String name; 7 private String type; 8 private Integer price; 9 10 FoodsParam(){ 11 } 12 13 public FoodsParam(String type, Integer price){ 14 this.type = type; 15 this.price = price; 16 } 17}

java

1@Mapper 2public interface FoodsMapper{ 3 List<Map<String, Object>> findByTypeAndPriceUsingClass(FoodsParam param); 4}

java

1public class MainTest{ 2 @Autowired 3 private FoodsMapper foodsMapper; 4 5 @Test 6 void test(){ 7 System.out.println(foodsMapper.findByTypeAndPriceUsingClass( 8 new FoodsParam("野菜", 500))); 9 } 10}

mapper

1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 3 "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 4<mapper namespace="curriculum.mapper.FoodsMapper"> 5 <select id="findByTypeAndPriceUsingClass" resultType="curriculum.domain.FoodsParam"> 6 Select 7 * 8 From 9 foods 10 Where 11 type = #{type} AND price <![CDATA[ <= ]]> #{limit} 12 </select> 13</mapper>

ご回答のほどよろしくお願いいたします。

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

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

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

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

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

xebme

2022/02/21 06:26

reflectionを利用してgetter/setterを探していると推測。 SQLに値を設定するにはFoodsMapperにgettet/setterが必要。lombokで自動生成するならその設定が必要だし、さもなくば、自分でgetter/setterを書かなければなりません。
xebme

2022/02/21 09:18

調べてみると設定でさまざまなことができるようです。設定を追記してください。
sui_15

2022/02/21 21:10

xebme様 ご回答ありがとうございます。 getter/setterを作るとのことで質問なのですが、インスタンス名(変数名)がない状態でgetter/setterを作るにはどうすればよいでしょうか。
sui_15

2022/02/21 22:29

追記 lombokでgetter/setterの設定をしています。
guest

回答1

0

自己解決

いろいろ試してみたらいきなりコンパイルが成功した。
mapperのlimitをpriceに変更したからかもしれない

投稿2022/02/22 02:59

sui_15

総合スコア24

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問