Introdução
Neste projeto, você aprenderá como inserir dados em massa em uma programação de cursos usando MyBatis, um popular framework de persistência Java. Este projeto irá guiá-lo através do processo de configuração do banco de dados, criação das tabelas necessárias e implementação da funcionalidade de inserção em massa.
👀 Pré-visualização

🎯 Tarefas
Neste projeto, você aprenderá:
- Como iniciar o serviço de banco de dados e criar o banco de dados
MyBatisDemoe a tabelacourse - Como configurar o projeto
MyBatisCourseDemo - Como implementar a inserção em massa de dados de cursos usando a tag
<foreach>no MyBatis
🏆 Conquistas
Após concluir este projeto, você será capaz de:
- Trabalhar com MyBatis para interagir com um banco de dados
- Usar a tag
<foreach>no MyBatis para realizar inserções de dados em massa - Configurar e configurar um projeto Java com MyBatis
Iniciar o Serviço de Banco de Dados e Criar a Tabela de Cursos
Nesta etapa, você aprenderá como iniciar o serviço de banco de dados, criar o banco de dados MyBatisDemo, criar a tabela course e importar os dados iniciais.
- Inicie o serviço de banco de dados MySQL:
cd ~/project
sudo service mysql start
- Crie o banco de dados
MyBatisDemoe a tabelacourseexecutando o script SQL:
mysql -u root < ~/project/course.sql && rm course.sql
Este comando executará o script SQL localizado em ~/project/course.sql para criar o banco de dados e a tabela necessários. Após a execução do script, o arquivo course.sql será excluído.
Configurar o Projeto MyBatisCourseDemo
Nesta etapa, você configurará o projeto MyBatisCourseDemo, que é fornecido como base para concluir o desafio.
- Navegue até o diretório do projeto:
cd ~/project/MyBatisCourseDemo/
Implementar a Inserção em Massa de Dados de Cursos
Nesta etapa, você adicionará os três dados a seguir à programação do curso de uma só vez (em massa) usando a tag <foreach> no MyBatis.
- ID do Curso: 8, Nome do Curso: Linguagem Golang, Instrutor: Amy
- ID do Curso: 9, Nome do Curso: Oracle, Instrutor: Bob
- ID do Curso: 10, Nome do Curso: Big Data, Instrutor: Jone
- Abra o arquivo
CourseMapper.javano diretório/src/main/java/org/labex/mapper/e adicione o seguinte código:
package org.labex.mapper;
import java.util.List;
import org.labex.pojo.Course;
public interface CourseMapper {
void insertCourses(List<Course> courses);
}
- Abra o arquivo
CourseMapper.xmle adicione o seguinte código:
<?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="org.labex.mapper.CourseMapper">
<insert id="insertCourses" parameterType="java.util.List">
INSERT INTO course (cNo, cName, teacher)
VALUES
<foreach collection="list" item="course" separator=",">
(#{course.cNo}, #{course.cName}, #{course.teacher})
</foreach>
</insert>
</mapper>
- Abra o arquivo
MyBatisTest.javano diretório/src/test/java/org/labex/test/e adicione o seguinte código:
package org.labex.test;
import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import org.labex.mapper.CourseMapper;
import org.labex.pojo.Course;
public class MyBatisTest {
SqlSessionFactory sessionFactory = null;
SqlSession session = null;
@Before
public void before() throws IOException {
String resource = "mybatis-config.xml";
// Load MyBatis configuration file
Reader reader = Resources.getResourceAsReader(resource);
// Create SqlSessionFactory
sessionFactory = new SqlSessionFactoryBuilder().build(reader);
// Create SqlSession object to execute SQL statements defined in the mapping files
session = sessionFactory.openSession();
}
@Test
public void testInsertCourses() {
// Create a list of Course objects to be inserted
List<Course> courses = new ArrayList<>();
courses.add(new Course(8, "Golang Language", "Amy"));
courses.add(new Course(9, "Oracle", "Bob"));
courses.add(new Course(10, "Big Data", "Jone"));
// Get the CourseMapper instance
CourseMapper courseMapper = session.getMapper(CourseMapper.class);
// Call the insertCourses method with the list of courses
courseMapper.insertCourses(courses);
// Commit the transaction
session.commit();
// Close the session
session.close();
}
}
- Execute o caso de teste para verificar a solução:
mvn test
Os resultados da saída referem-se ao seguinte:

Resumo
Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.



