10、mybatis学习——sqlmapper配置返回list和map结果集
一、返回list
mapper接口方法:
sqlmapper文件配置:
<!-- 根据name模糊查询返回list resultType写list里面的类型,多个结果mybatis会自动添加到list中 --> <select id="selectEmpByNameLike" resultType="employee"> select * from employee where name like #{name} </select>
测试方法:
@Test public void testSelectEmpByNameLike() throws IOException { String source = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(source); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class); System.out.println(employeeMapper.selectEmpByNameLike("%o%")); sqlSession.close(); }
二、查询一个记录返回一个map
mapper接口方法:
sqlmapper文件配置
<!-- 返回一条记录的map;key就是列名,值就是对应列的值 查询结果只有一条时resultType的值为map,mybatis自动为许多java类型取了别名 --> <select id="selectEmpByIdReturnMap" resultType="map"> select * from employee where id = #{id} </select>
测试方法:
@Test public void testSelectEmpByIdReturnMap() throws IOException { String source = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(source); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class); System.out.println(employeeMapper.selectEmpByIdReturnMap(1)); sqlSession.close(); }
三、查询多条记录返回一个map
mapper接口方法:
sqlmapper文件配置:
<!-- 返回多条记录的map;key为对应map接口方法中的@MapKey的值,值就是对应key的对象 查询结果为多条时resultType的值为返回对象的类型 --> <select id="selectEmpByNameLikeReturnMap" resultType="employee"> select * from employee where name like #{name} </select>
测试方法:
@Test public void testSelectEmpByNameLikeReturnMap() throws IOException { String source = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(source); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class); System.out.println(employeeMapper.selectEmpByNameLikeReturnMap("%o%")); sqlSession.close(); }
分类:
mybatis
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)