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も然り。
回答1件
あなたの回答
tips
プレビュー