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

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

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

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

解決済

1回答

2727閲覧

HTML画面にデータベースから取ってきたデータを表示しようとすると全てNULLになる

oka12

総合スコア8

Java

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

0クリップ

投稿2018/05/29 07:06

編集2018/05/30 10:43

Spring MVC+mybatisを使用し、データベースからデータをHTML画面に呼び出そうとしているのですが、全てのデータがNULLになってしまいます。
あとNULLの数とデータの数(toha2_nm)は一致しています。なので、おそらくListにはデータを格納できていると思うのですが、なぜNULLになってしまうのでしょうか?
以下にコードを記載しておきます。

mapper.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.jiji.senkyo.mybatis.mapper.JS0007Mapper"> <select id="getJS0007SyukeiList" resultType="com.jiji.senkyo.model.JS0007Model" parameterType="com.jiji.senkyo.model.JS0007Model" flushCache="true"> <!-- 党派情報等を検索 --> select toha2_nm from toha_nm join toha_sen_info using(toha_cd) where toha_cd != '0' order by toha_cd; </select> </mapper>
mapper.java package com.jiji.senkyo.mybatis.mapper; import java.util.List; import com.jiji.senkyo.model.JS0007Model; public interface JS0007Mapper extends BaseMapper { /** *一覧情報獲得 * * @param params JS0007モデル * @return 一覧情報(JS0007モデル) */ List<JS0007Model> getJS0007SyukeiList(JS0007Model params); }
model.java package com.jiji.senkyo.model; public class JS0007Model extends BaseModel { /** * serialVersionUID */ private static final long serialVersionUID = 1L; private String toha_cd; private String sen_joho_cd; private String toha2_nm; private String toha3_nm; private String tokei_cd; /** * @return toha_cd * toha_cd */ public String getToha_cd() { return toha_cd; } /** * @param toha_cd 設定する toha_cd */ public void setToha_cd(String toha_cd) { this.toha_cd = toha_cd; } /** * @return sen_joho_cd * sen_joho_cd */ public String getSen_joho_cd() { return sen_joho_cd; } /** * @param sen_joho_cd 設定する sen_joho_cd */ public void setSen_joho_cd(String sen_joho_cd) { this.sen_joho_cd = sen_joho_cd; } /** * @return toha2_nm * toha2_nm */ public String getToha2_nm() { return toha2_nm; } /** * @param toha2_nm 設定する toha2_nm */ public void setToha2_nm(String toha2_nm) { this.toha2_nm = toha2_nm; } /** * @return toha3_nm * toha3_nm */ public String getToha3_nm() { return toha3_nm; } /** * @param toha3_nm 設定する toha3_nm */ public void setToha3_nm(String toha3_nm) { this.toha3_nm = toha3_nm; } /** * @return tokei_cd * tokei_cd */ public String getTokei_cd() { return tokei_cd; } /** * @param tokei_cd 設定する tokei_cd */ public void setTokei_cd(String tokei_cd) { this.tokei_cd = tokei_cd; } }
service.java package com.jiji.senkyo.service; import java.util.List; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.jiji.senkyo.model.JS0007Model; import com.jiji.senkyo.mybatis.mapper.*; @Service("JS0007Service") public class JS0007Service extends BaseService { /** * eventApplyMapper */ @Autowired private JS0007Mapper js0007Mapper; //以下Serviceの実行コードを記入 /** * ユーザー情報取得 * * @param params ログインユーザー * @return ユーザー情報取得 */ public List<JS0007Model> getJS0007SyukeiList() { // パラメータ設定 JS0007Model param = new JS0007Model(); // TODO デバック用 param.setToha_cd("0"); param.setSen_joho_cd("0"); param.setToha2_nm("1"); param.setToha3_nm("0"); param.setTokei_cd("0"); // ユーザー情報を取得 List<JS0007Model> resultModel = this.js0007Mapper.getJS0007SyukeiList(param); if(resultModel == null) { return null; } /*UserInfo result = new UserInfo(); *BeanUtils.copyProperties(resultModel, result); */ // 画面一覧のデータを取得 return resultModel; //後でinfoに移し替える }
controller.java package com.jiji.senkyo.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.jiji.senkyo.model.JS0007Model; import com.jiji.senkyo.service.JS0007Service; @Controller public class JS0007Controller extends BaseController { /** * サービス */ @Autowired private JS0007Service js0007Service; /** * setupDomain * *@return UserInfo */ /*@ModelAttribute *public UserInfo setupDomain() { * return new UserInfo(); *} */ /** * @return index */ @RequestMapping(value = "/JS0007" ) public String index(Model model) { /*UserInfo userInfo = new UserInfo(); *model.addAttribute("userInfo", userInfo); */ List<JS0007Model> listModel = this.js0007Service.getJS0007SyukeiList(); model.addAttribute("test", listModel); return "JS0007"; }
JS0007.html <!DOCTYPE html> <html lang="ja" xmlns:th="http://www.thymeleaf.org"> <head th:include="/commons/common.html::header(~{::link},~{::script},null)"> <!-- Required meta tags --> <meta charset="utf-8"> </head> <body> <div id="header"th:include="/commons/common.html::bodyHeader"></div><!-- /.header --> <div id="navbar" th:include="/commons/common.html::navbar('メニュー','','','','')"></div><!--/.navbar --> <span th:text="${test}">AKO</span> <!-- 以下略 -->
service.java List<JS0007Model> resultModel = this.js0007Mapper.getJS0007List(param); →16個の要素全てがnullでした。この要素はmapperから読み込んでいるのでmapperを 確かめたいのですが、mapper.javaはインタフェースなのでデバックができないです。mapper.xmlも然り。

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

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

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

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

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

m.ts10806

2018/05/29 07:54

そもそもmodel.addAttribute("test", listModel);のところをmodel.addAttribute("test", "hogehoge");と適当な文字列にした場合でもきちんとわたっているのでしょうか。
oka12

2018/05/29 07:59

それは以前に確認済みです。きちんとわたっています。
m.ts10806

2018/05/29 08:22

でしたら、listModel 自体がnullではないのですか?
oka12

2018/05/30 03:44

そうだと思います。だから、Mapper.xmlからserviceに行くまでのどこかでSQL文がうまく渡されていないと思っています。
m.ts10806

2018/05/30 03:45

「思います」だと確証がないのでデバッグ実行して変数の中身や状態を確認し、確認結果を質問本文に追記してください。
oka12

2018/05/31 04:04

追記しました。デバックでチェックしたところ、Model.javaが実行時に使われていませんでした。とりあえずModelをservice側で呼び出せないかやってみます!
guest

回答1

0

自己解決

Model.javaにおいてtokei_cd→tokeiCdのようにアンダーバーを無くしたらうまくいきました。

最後にmts10806さん、ご回答いただきありがとうございました。

投稿2018/06/01 04:00

oka12

総合スコア8

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問