MyBatis 测试代码:根据性别分组统计平均薪资
下面是一个示例测试代码,使用 MyBatis 进行查询并根据性别分组统计平均薪资:
public class EmployeeMapperTest {
private SqlSessionFactory sqlSessionFactory;
@Before
public void setup() throws IOException {
// 创建 MyBatis 的配置文件输入流
String resource = 'mybatis-config.xml';
InputStream inputStream = Resources.getResourceAsStream(resource);
// 根据配置文件创建 SqlSessionFactory
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void testGetAverageSalaryByGender() {
try (SqlSession session = sqlSessionFactory.openSession()) {
EmployeeMapper employeeMapper = session.getMapper(EmployeeMapper.class);
// 使用 MyBatis 的 selectList 方法执行查询
List<Map<String, Object>> result = employeeMapper.getAverageSalaryByGender();
// 遍历查询结果并打印
for (Map<String, Object> row : result) {
String gender = (String) row.get('gender');
Double avgSalary = (Double) row.get('averageSalary');
System.out.println('Gender: ' + gender + ', Average Salary: ' + avgSalary);
}
}
}
}
在上面的示例中,首先创建了一个 SqlSessionFactory,然后使用该工厂创建一个 SqlSession 对象。接下来,从 SqlSession 对象中获取一个 EmployeeMapper 接口的实例。
通过调用 employeeMapper.getAverageSalaryByGender() 方法,执行 SQL 查询并将结果返回为一个 List,其中每个元素都是一个 Map 对象,表示一行查询结果。每个 Map 对象包含两个键值对,分别是 gender 和 averageSalary,分别表示性别和平均薪资。
最后,遍历查询结果并打印每行数据。
原文地址: https://www.cveoy.top/t/topic/pZ9V 著作权归作者所有。请勿转载和采集!