• 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文件中返回值的类型是集合里面的类的类型。

  • 相关阅读:
    Keepalived 无法自动转换主备角色,请关注 iptables 防火墙配置
    Linux 下使用网易的SMTP服务器 发送邮件
    Spring-boot 最小demo
    go build 时报错 cc1.exe: sorry, unimplemented: 64-bit mode not compiled in
    spark-shell 执行脚本并传入参数
    JVM
    spark
    spark
    linux
    linux
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12215720.html
Copyright © 2020-2023  润新知