广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

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

    来源:网络收集  点击:  时间:2025-12-31
    【导读】:

          ibatis中,可以通过设置结果集select属性的方法,达到查询一对多的目的,比如为查询处一个实体类,该实体类中包含一个list,那么此时就需要用到以上方式进行查询,具体步骤如下。

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

    在student表中录入基础数据。

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

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

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

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

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

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

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

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

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

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

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.ff371.cn/art_1296382.html

    相关资讯

    ©2019-2020 http://www.ff371.cn/ 国ICP备20009186号12-31 21:26:16  耗时:0.929