前提
SpringでREST APIを作成しています。
環境:java8,Spring4,MyBatis,MySQL
実現したいこと
一覧を取得したときに、
int型の値も取得して表示させたい。
発生している問題・エラーメッセージ
一覧を取得したときに、 MySQL上は1になっている、 private int markの値が0で返ってきている。 String型のタイトルは変更可能。 json形式で渡す際に問題があるのでしょうか。 number型に変更する等を調べてみたのですが、わかりませんでした。
該当のソースコード
java
public class MemoController { private final MemoService memoService; public MemoController(MemoService dateService) { this.memoService = dateService; } /* Top */ @GetMapping("/memos") public List<Memo> index() { return memoService.getMemoList(); } 略
java
@Service @Transactional public class MemoService { private final MemoMapper memoMapper; public MemoService(MemoMapper memoMapper) { this.memoMapper = memoMapper; } // 全件取得 public List<Memo> getMemoList() { return memoMapper.findAll(); }
java
@Data public class Memo { private int id; private String title; private int mark; }
java
@Mapper public interface MemoMapper { // 全件取得 public List<Memo> findAll();
MemoMapper.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.example.demo.repository.MemoMapper"> <select id="findAll" resultType="com.example.demo.entity.Memo"> SELECT * FROM memos </select>
SQL
CREATE TABLE IF NOT EXISTS memos ( id INT(50) PRIMARY KEY AUTO_INCREMENT, title VARCHAR(50) NOT NULL, mark_div INT(50) NOT NULL );
試したこと
・Integerをintに変更(IntegerだとNullになった)
・@initializeをEntityに記入(何も変わらなかった)
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
まだ回答がついていません
会員登録して回答してみよう