MyBatis framework 04 implémente une requête conditionnelle

Réception de la dernière présentation du framework MyBatis 03
1. Implémenter une requête conditionnelle sur la table des étudiants
(1) Créer un fichier de configuration du mappeur étudiant Créer un fichier de configuration du mappeur étudiant
dans le répertoire resources / mapper-StudentMapper.xml
Insérez la description de l'image ici

<?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) Enregistrer le fichier de configuration du mappeur étudiant dans le fichier de configuration MyBatis
Ajouter des sous-éléments à l'élément
Insérez la description de l'image ici
(3) Créer l'interface du mappeur étudiant
Insérez la description de l'image ici

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) Créez la classe de test TestStudentMapper
Insérez la description de l'image ici

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. Query girl records
Add test method testFindByCondition ()
Insérez la description de l'image ici
Run test method testFindByCondition (), view results
Insérez la description de l'image ici
2. Interrogation de filles de 18 ans
Modifier les conditions de requête dans la
Insérez la description de l'image ici
méthode de test Exécuter la méthode de test testFindByCondition (), visualiser les résultats
Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/triet/article/details/114641581
conseillé
Classement