mybatis文件映射之select操做返回List集合

在EmplyeeMapper.java中:java

public List<Employee> getEmpByLastNameLike(String lastName);

在EmployeeMapper.xml中sql

<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名字不对应,所以须要用别名来指代。数据库

以后进行单元测试:apache

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(); } } }

补充:进行模糊查询时:session

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

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

 3. LIKE'%en%' 将搜索在任何位置包含字母 en 的全部字符串(如 When、Green)。单元测试

在数据库中的数据为:测试

执行test04方法,获得:ui

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

相关文章
相关标签/搜索