MyBatis framework 04 implementa la consulta condicional

Recibiendo la última charla sobre el marco MyBatis 03
1. Implementar una consulta condicional en la tabla de estudiantes
(1) Crear un archivo de configuración de mapeador de estudiantes Crear un archivo de configuración de mapeador de estudiantes
en el directorio resources / mapper-StudentMapper.xml
Inserte la descripción de la imagen aquí

<?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="net.tjl.mybatis.mapper.StudentMapper">
    <select id="findByCondition" parameterType="java.util.Map" resultMap="studentResultMap">
        SELECT * FROM t_student
        <trim prefix="WHERE" prefixOverrides="AND|OR">
            <if test="name != null">
                s_name Like CONCAT(#{name},'%')
            </if>
            <if test="gender != null">
                AND s_gender = #{gender}
            </if>
            <if test="age != null">
                AND s_age = #{age}
            </if>
        </trim>
    </select>

    <resultMap id="studentResultMap" type="Student">
        <result column="s_id" property="id"/>
        <result column="s_name" property="name"/>
        <result column="s_gender" property="gender"/>
        <result column="s_age" property="age"/>
        <association property="clazz" column="class_id" javaType="Clazz" select="getClazz"/>
    </resultMap>

    <select id="getClazz" resultType="Clazz">
        SELECT c_id id, c_name name FROM t_class WHERE c_id = #{id};
    </select>
</mapper>

(2) Registrar el archivo de configuración del mapeador de estudiantes en el archivo de configuración de MyBatis
Agregar subelementos al elemento
Inserte la descripción de la imagen aquí
(3) Crear la interfaz del mapeador de estudiantes
Inserte la descripción de la imagen aquí

package net.tjl.mybatis.mapper;

import net.tjl.mybatis.bean.Student;

import java.util.List;
import java.util.Map;

/**
 * 功能:学生映射器接口
 * 作者:谭金兰
 * 日期:2021年03月10日
 */
public interface StudentMapper {
    
    
    List<Student> findByCondition(Map<String, Object> condition);
}
       

(4) Cree la clase de prueba TestStudentMapper
Inserte la descripción de la imagen aquí

package net.tjl.mapper;

import net.tjl.mybatis.mapper.StudentMapper;
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.After;
import org.junit.Before;

import java.io.IOException;
import java.io.Reader;

/**
 * 功能:测试学生映射器接口
 * 作者:谭金兰
 * 日期:2021年03月10日
 */
public class TestStudentMapper {
    
    

    private SqlSession sqlSession; // SQL会话
    private StudentMapper studentMapper; // 学生映射器

    @Before
    public void init() {
    
    
        try {
    
    
            // 读取MyBatis配置文件作为字符输入流
            Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
            // 基于MyBatis配置文件构建SQL会话工厂
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
            // 利用SQL会话工厂获取SQL会话
            sqlSession = factory.openSession();
            // 利用SQL会话获取学生映射器对象
            studentMapper = sqlSession.getMapper(StudentMapper.class);
        } catch (IOException e) {
    
    
            e.printStackTrace();
        }
    }

    @After
    public void destroy() {
    
    
        // 关闭SQL会话
        sqlSession.close();
    }
}
        

1. Consultar registros de niña
Agregar método de prueba testFindByCondition ()
Inserte la descripción de la imagen aquí
Ejecutar método de prueba testFindByCondition (), ver resultados
Inserte la descripción de la imagen aquí
2. Consultar niñas de 18 años
Modificar condiciones de consulta en
Inserte la descripción de la imagen aquí
método de prueba Ejecutar método de prueba testFindByCondition (), ver resultados
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/triet/article/details/114641581
Recomendado
Clasificación