IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 为什么封装成VO和BO、mybatis的resultMap的代码书写 -> 正文阅读

[Java知识库]为什么封装成VO和BO、mybatis的resultMap的代码书写

VO层:V指的是View,这不是指的前端的页面意思,而是指的将后台的数据(可以简单理解成SQL语句查询的来的数据),直接查询出的数据直接传给前端,前端需要对数据进行筛选处理才会展示到页面,而VO对象,可以理解成后台重新将查询出的数据进行一个简单的封装,目的就是方便提供给前端调用,所以取名叫做VO。

BO层是business Object 业务对象

我自己简单的理解就是前台传递给后台的数据,数据在后台的数据库表中不是一个个字段相对应。所以需要重新封装一个对象接受前台传递过来的数据。
?

mybatis的resultMap的代码书写

categoryVO中包含了subCategoryList的列表
<resultMap id="categoryVO" type="com.imooc.pojo.vo.CategoryVO">
    <id column="id" property="id"  />
    <result column="name" property="name"  />
    <result column="type" property="type"  />
    <result column="fatherId" property="fatherId" />

    <collection property="subCategoryList" ofType="com.imooc.pojo.vo.SubCategoryVO">
      <id column="subId" property="subId"  />
      <result column="subName" property="subName"  />
      <result column="subType" property="subType"  />
      <result column="subFatherId" property="subFatherId" />
    </collection>
  </resultMap>
  
    <select id="getSubCatList" resultMap="categoryVO" parameterType="integer">
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.imooc.mapper.ItemsCustomMapper" >
  <select id="queryItemComments" parameterType="Map" resultType="com.imooc.pojo.vo.ItemCommentVO">

    select
        ic.comment_level commentLevel,
        ic.content content,
        ic.sepc_name sepcName,
        ic.created_time createdTime,
        u.face userFace,
        u.nickname nickname
        from items_comments ic
    LEFT JOIN users u
          ON ic.user_id = u.id
    where ic.item_id = #{paramsMap.itemId}
        <if test="paramsMap.level!=null and paramsMap.level!=''">
          AND ic.comment_level = #{paramsMap.level}
        </if>
  </select>
    
    <select id="searchItems" parameterType="map" resultType="com.imooc.pojo.vo.SearchItemsVO">

        SELECT
            i.id AS itemId,
            i.item_name AS itemName,
            i.sell_counts AS sellCounts,
            ii.url AS imgUrl,
            tempSpec.price_discount as price
        FROM
            items i
                LEFT JOIN items_img ii ON i.id = ii.item_id
                LEFT JOIN ( SELECT item_id, MIN( price_discount ) price_discount FROM items_spec GROUP BY item_id ) AS tempSpec ON i.id = tempSpec.item_id
        WHERE
            ii.is_main = 1
            <if test="paramsMap.keywords!=null and paramsMap.keywords!=''">
                AND i.item_name like '%${paramsMap.keywords}%'
            </if>
        order by
        <choose>
            <when test="paramsMap.sort == &quot;c&quot;">
                sellCounts desc
            </when>

            <when test="paramsMap.sort == &quot;p&quot;">
                price asc
            </when>
            <otherwise>
                itemName asc
            </otherwise>
        </choose>
    </select>
    

</mapper>

?

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-15 15:22:28  更:2021-08-15 15:24:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/30 15:29:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码