在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文件中返回值的類型是集合裏面的類的類型。