mybatis文件映射之select操作返回List集合
时间:2022-07-23
本文章向大家介绍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文件中返回值的类型是集合里面的类的类型。
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释