Пакетный запрос информации о курсах
В этом шаге вы научитесь пакетно запрашивать информацию о курсах с номерами курсов "1,2,3" с использованием динамического SQL.
-
Откройте файл CourseMapper.java
, расположенный в директории /org/lanqiao/mapper/
.
-
Реализуйте метод selectCoursesByIds
в интерфейсе CourseMapper
. Этот метод должен принимать параметр Map<String, Object>
для хранения входных параметров.
List<Map<String, Object>> selectCoursesByIds(Map<String, Object> params);
-
Откройте файл CourseMapper.xml
, расположенный в директории /org/lanqiao/mapper/
.
-
Реализуйте SQL-оператор selectCoursesByIds
в пространстве имен CourseMapper
. Используйте тег <foreach>
для перебора списка ids
и построения условия IN.
<select id="selectCoursesByIds" resultMap="courseResultMap" parameterType="java.util.Map">
SELECT * FROM course WHERE cNo IN
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
-
Откройте файл MyBatisTest.java
, расположенный в директории /org/lanqiao/test/
.
-
Реализуйте тестовый метод testSelectCoursesByIds
для проверки функциональности selectCoursesByIds
.
@Test
public void testSelectCoursesByIds() {
CourseMapper mapper = session.getMapper(CourseMapper.class);
List<Integer> ids = Arrays.asList(1, 2, 3);
Map<String, Object> params = new HashMap<>();
params.put("ids", ids);
List<Map<String, Object>> coursesByIds = mapper.selectCoursesByIds(params);
System.out.println(coursesByIds);
}
Запуск
Для того чтобы убедиться, что код работает, обязательно введите в код соответствующие классы.
CourseMapper.java
:
import org.lanqiao.pojo.Course;
import java.util.List;
import java.util.Map;
MyBatisTest.java
:
import java.util.Arrays;
import java.util.HashMap;
Наконец, вы можете скомпилировать и запустить код в терминале и проверить тестовые файлы с помощью Maven, используя следующие команды:
cd MyBatisCourseDemo03
mvn test
Вы можете обратиться к 👀 Предварительный просмотр
для просмотра запускаемого отображения.