Мне удалось «получить все объекты», создав оператор SELECT в бэкэнде SpringBoot-MyBatis, например:
AppRestController.java
//get full list of actors
@GetMapping("/actors")
public List<Actor> selectAllActors(){
return actorMapper.selectAllActors();
}
Когда вы печатаете"localhost: 9090 /ctors" в браузере, он вернет все объекты акторов из моей базы данных MySQL.Это хорошо.Теперь я хочу повысить его сложность.
Я хочу получить один объект по его actor_id, например:
//get specific actor by actor_id. this is where im stuck
@GetMapping("/actors/id")
public Actor selectActorById(int id){
return actorMapper.selectActorById(id);
}
Обратите внимание на мой @ GetMapping .Что я хочу сделать, так это когда я набираю что-то вроде " localhost: 9090 /ctors / 1 " в браузере, он возвращает объект актера из базы данных с id = 1 и т. Д.
Вот соответствующие файлы.
ActorMapper.xml
<mapper namespace="com.helios.mybatissakila.mappers.ActorMapper">
<resultMap id="ActorResultMap" type="Actor">
<id column="actor_id" property="actor_id" jdbcType="INTEGER"/>
<result column="first_name" property="first_name" />
<result column="last_name" property="last_name" />
<result column="last_update" property="last_update" />
</resultMap>
<select id="selectAllActors" resultMap="ActorResultMap">
select * from actor
</select>
<select id="selectActorById" resultMap="ActorResultMap">
select * from actor where actor_id = #{actor_id}
</select>
</mapper>
ActorMapper.java
@Mapper
public interface ActorMapper {
//this is now working
List <Actor> selectAllActors();
//this is where im stuck
Actor selectActorById(int id);
}
Спасибо за вашу помощь. Обновление :
, поэтому я изменил
@GetMapping("/actors/id")
public Actor selectActorById(int id){
return actorMapper.selectActorById(id);
}
на
@GetMapping("/actors/{id}")
public Actor selectActorById(Integer id){
return actorMapper.selectActorById(id);
}
Видимо, ошибок нет, но я получаю пустой экран.Зачем?Есть данные из моей базы данных MySQL, чей actor_id равен 1.
![enter image description here](https://i.stack.imgur.com/c76VL.png)