学习Java JDBC连接到MySQL数据库问题

frebpwbc  于 2023-04-04  发布在  Java
关注(0)|答案(2)|浏览(140)

我正在尝试将我的SQL数据库(DOCKER)连接到Spring APP。
这是超级简单,但我不知道为什么我不能看到结果在端点。
你知道为什么endpoint /all不显示来自MySQL的原始数据吗?

@RestController
public class Controller {

    @Autowired
    MovieRepo movieRepo;

    @GetMapping("/test")
    public int test(){

        return 1;
    }
    @GetMapping("/all")
    public List<Movie>getAll(){
        return movieRepo.getAll();

    }
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Movie {

    private int id;
    private String name;
    private int rating;
}
@Repository
public class MovieRepo {

    @Autowired
    JdbcTemplate jdbcTemplate;

    public List<Movie> getAll(){
        return jdbcTemplate.query("SELECT id, name, rating FROM MoviesDB",
                BeanPropertyRowMapper.newInstance(Movie.class));

    }
}

Picture of DB table

nnsrf1az

nnsrf1az1#

您的列名为 id,movie,rating,而不是 id,name,rating。请尝试在SQL语句中更改列名。

mnemlml8

mnemlml82#

您似乎输入了错误的列名。请进行以下更改

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Movie {

    private int id;
    private String movie;
    private int rating;
}

@Repository
public class MovieRepo {

    @Autowired
    JdbcTemplate jdbcTemplate;

    public List<Movie> getAll(){
        return jdbcTemplate.query("SELECT id, movie, rating FROM MoviesDB",
                BeanPropertyRowMapper.newInstance(Movie.class));

    }
}

相关问题