【Java复习Ⅲ 10】mybatis框架:一对多_动态SQL语句_分页处理

2021年4月1日 周四_mybatis框架:一对多_动态SQL语句_分页处理

  • 有很多的时候我们学习的只是知识的表层,我们要努力把“了解”变为“精通”。这个系列就是为了记录Java基础梳理。
  • 希望在学习的过程中不是把知识简单的记忆住,更重要的是做到“有趣”,怎么做到呢?将代码理解为构建世界的语言,我们所在的世界的一草一木都可以用代码解释,Java是面向对象的,也是存在于我们的生活的,Java生活就是这个道理。
  • 在以后可能会加一些拓展,
  • 学习理科、技术最依靠的是理解、模型,不断应用,在应用中理解,记忆,才能对知识的理解更上一层。

一对多_动态SQL语句_分页处理

一对多_association 关联

  • association 关联
  • 我们还需要理解的是mapper.xml的作用是什么?如何深入理解mapper
    1. 我们首先知道mapper里面有,select语句块、resultMap。
    2. 首先我们知道select语句是返回的一个数据表,但是我们没有办法直接使用这个表,所以我们需要给他一张图纸,告诉它我们这个表里面装的是什么东西,是什么模型……。
    3. 图纸就是resultMap,里面写满了一些说明,例如这个【表里面的XX东西】是【类的XX东西】
    4. 但是我们需要其他类一起写,那么我们就需要association来连接两个表,很简单的javaType告诉mapper是什么类。(mapper有点笨,啥东西都需要填写type)

mapper的灼痛

resultMap图纸的code

    <resultMap id="rm1" type="com.hzyc.demo1.model.OrderModel">
        <id property="id" column="code"/>
        <result property="name" column="name"/>
        <result property="password" column="college"/>
        <!--    association或者是collection    -->
        <association property="odm" javaType="com.hzyc.demo1.model.OrderDetailModel">
            <id property="chiefId" column="chiefid"/>
            <result property="id" column="id"/>
            <result property="info" column="info"/>
        </association>
    </resultMap>

动态SQL语句

  • 这个其实就是一个简单的插入语法:讲得是一个语句拼接。
    <if test="author != null">
        and author = #{author}
    </if>

在这里插入图片描述
在这里插入图片描述

分页处理

mapper 不知道里面都是些什么类型,所以需要填写type。
在这里插入图片描述

Tips:

在这里插入图片描述


版权声明:本文为weixin_43801418原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。