zoukankan      html  css  js  c++  java
  • mybatis文件映射之select操作返回List集合

    在EmplyeeMapper.java中:

    public List<Employee> getEmpByLastNameLike(String lastName);

    在EmployeeMapper.xml中

        <select id="getEmpByLastNameLike" resultType="com.gong.mybatis.bean.Employee">
            select id,last_name lastName,gender,email from tbl_employee where last_name like #{lastName}
        </select>

    由于数据库中的字段last_name与实体类中的lastName名字不对应,因此需要用别名来指代。

    之后进行单元测试:

    package com.gong.mybatis.test;
    
    import java.io.IOException;
    import java.io.InputStream;
    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.Test;
    
    import com.gong.mybatis.bean.Employee;
    import com.gong.mybatis.dao.EmployeeMapper;
    import com.gong.mybatis.dao.EmployeeMapperAnnotation;
    
    public class TestMybatis {
        
        public SqlSessionFactory getSqlSessionFactory() throws IOException {
            String resource = "mybatis-config.xml";
            InputStream is = Resources.getResourceAsStream(resource);
            return new SqlSessionFactoryBuilder().build(is);
        }
    
        @Test
        public void test04() throws IOException {
            SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
            SqlSession openSession = sqlSessionFactory.openSession();
            try {
                EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
                List<Employee> employees = mapper.getEmpByLastNameLike("%小%");
                for(Employee e:employees) {
                    System.out.println(e);
                }
                openSession.commit();
            } finally {
                openSession.close();
            }
            
        }
    
    }

    补充:进行模糊查询时:

     1. LIKE'Mi%' 将搜索以字母 Mi开头的所有字符串(如 Michael)。

     2. LIKE'%er' 将搜索以字母 er 结尾的所有字符串(如 Worker、Reader)。

     3. LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 When、Green)。

    在数据库中的数据为:

    执行test04方法,得到:

    至此结合List进行select操作的流程就基本完成了。 需要注意的若返回值是List集合,在mapper.xml文件中返回值的类型是集合里面的类的类型。

  • 相关阅读:
    搜索引擎 中 排序学习 的小思考
    《算法导论》之分治策略与动态规划
    《算法导论》之基础篇
    中文文本信息处理的原理与应用读书笔记1
    python 类变量 在多线程下的共享与释放问题
    日志管理
    《领导梯队》读书分享
    初见微服务之服务注册与发现
    初见微服务之RESTful API
    初见微服务之架构概述
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12215720.html
Copyright © 2011-2022 走看看