ibatis结果集resultMap中select属性的用法

2025-04-18 15:16:52

1、为了展示该查询方式,首先创建两张表;第一张表为学生信息表student,如下进行创建;

ibatis结果集resultMap中select属性的用法

2、在student表中录入基础数据。

ibatis结果集resultMap中select属性的用法

3、创建score表,反映学生考试科目及成绩,如下进行创建。

ibatis结果集resultMap中select属性的用法

4、在score中录入基础数据,语数外三门科目成绩,如下进行录入。可以借助mysql可视化工具SQLyog进行快速录入。

ibatis结果集resultMap中select属性的用法

5、在开发工具IDEA中创建一个简单java项目,如下图结构进行创建,其中,还需要导入ibatis的基础包,以及mysql的驱动包即可。

ibatis结果集resultMap中select属性的用法

6、创建实体类Student,包含表中字段,对查询student表数据进行接收;其中如图中红框展示scoreList,用于存储该学生下三个科目成绩。

ibatis结果集resultMap中select属性的用法

7、创建实体类Score,用于接收score表中查询数据。

ibatis结果集resultMap中select属性的用法

8、创建ibatis读取sql的xml配置文件,该文件内容即是利用结果集select属性解决溽朽孑臾查询一对多的关键。如下图所示,结果集result标签中包含一个select属性,该属性传入一个查询sql的id即可在生成该结果集的时候,去调用该id的查询sql。

ibatis结果集resultMap中select属性的用法

9、传入的column属性,即传入联查sql的参数,如上图,对应getScore的参数,注意,select属性中的id必须添加sqlMap的命名空间,否则会报找不到getScore的错误。

10、完成sqlmap的xml配置后,需要将该xml配置引入到ibatis的系统配置文件sqlMapConfig.xml中,如下图所示

ibatis结果集resultMap中select属性的用法

11、以上完成后,ibatis 的配置就完成了,那么还需要一个测试类进行测试,可以按照如下的方式,在idea中直接运行main方法。

ibatis结果集resultMap中select属性的用法

12、采用debug的方式运行main,可以断点运行得到如下结果,可以看到,studentList结果集中,包含了scoreLIst的数赍铈于脏据,这样,通过select属性就可以相对简单单的联查一对多数据;而不必用for循环,循环录入该list了。

ibatis结果集resultMap中select属性的用法
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢