
MyBatis实现条件查询
4. 创建测试类
发布日期:2021-05-10 20:44:32
浏览次数:20
分类:精选文章
本文共 2535 字,大约阅读时间需要 8 分钟。
对学生表实现条件查询
1. 创建学生映射器配置文件
为了实现对学生表的条件查询,我们需要配置一个XML镜像,定义数据库查询和结果映射。以下是具体配置步骤:
上述配置文件包含以下功能:
findByCondition
方法:支持根据多个条件(姓名、性别、年龄)查询学生信息。studentResultMap
:定义了学生结果的映射关系,将数据库字段与对象属性一一对应。getClazz
方法:用来查询学生所属的班级信息。
2. 在MyBatis配置文件中注册学生映射器
将上述配置文件加载到MyBatis的全局配置文件中,确保-flusql和解释器能够识别和使用这些映射。
3. 创建学生映射器接口
定义一个接口StudentMapper
,使得程序能够通过依赖注入或其他方式获取到这个映射器。
public interface StudentMapper { @Mapper public interface StudentMapper extends Mapper { // 使用引入的映射器方法 ListfindByCondition(Map condition); Clazz getClazz(String id); }}
4. 创建测试类TestStudentMapper
用于验证映射器配置是否正确。
public class TestStudentMapper { private SqlSession sqlSession; private StudentMapper studentMapper; // 初始化SqlSession和映射器 @Before public void init() throws IOException { Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader); sqlSession = factory.openSession(); studentMapper = sqlSession.getMapper(StudentMapper.class); } // 释放资源 @After public void destroy() { sqlSession.close(); }}
测试方法
以下是一些常用的查询示例:
- 查询所有女生记录
@Testpublic void findByCondition() { Mapcondition = new HashMap<>(); List students = studentMapper.findByCondition(condition); students.forEach(name -> System.out.println(name));}
- 查询19岁的人
@Testpublic void findByConditionAge19() { Mapcondition = new HashMap<>(); condition.put("age", 19); List students = studentMapper.findByCondition(condition); students.forEach(name -> System.out.println(name));}
- 查询姓张的19岁女生
@Testpublic void findByConditionNameAndAge() { Mapcondition = new HashMap<>(); condition.put("name", "张"); condition.put("age", 19); List students = studentMapper.findByCondition(condition); if (!students.isEmpty()) { System.out.println("查询到符合条件的学生记录:"); students.forEach(name -> System.out.println(name)); } else { System.out.println("抱歉,没有找到符合条件的学生记录"); }}
通过上述步骤,我们能方便地对Student表进行灵活的条件查询。这套配置非常适合处理复杂的查询逻辑,同时支持动态参数和结果映射。
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月17日 12时14分14秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Less 日常用法
2025-04-05
Lettuce 移动框架 for Romantic
2025-04-05
let、const、var的四点区别( 代码示例 )
2025-04-05
LexPredict法律词典项目教程
2025-04-05
LFS最终幻想
2025-04-05
lftp命令详解
2025-04-05
lib/libstdc++.so.6: version `GLIBCXX_3.4.30‘ not found (required by /lib/x86_64-linux-gnu/libLLVM-15
2025-04-05
Libevent 事件管理和添加事件
2025-04-05
libevent-简单的定时器
2025-04-05
libevent在windows下使用步骤详解
2025-04-05
libgdx的菜单配置,以及json文件的结构
2025-04-05
libiconv字符集转换库在C#中的使用
2025-04-05
liblognorm编译
2025-04-05
libmpg123 解码库用法
2025-04-05
Library Module上传Jcenter详解
2025-04-05
LibreOffice放映Slides时粗体字模糊的解决方案
2025-04-05
LibreOJ #6000. 「网络流 24 题」搭配飞行员
2025-04-05
LibreOJ 6277 数列分块入门 1(分块)
2025-04-05
Librosa基音跟踪-STFT
2025-04-05