zoukankan      html  css  js  c++  java
  • 个人技术总结——SpringBoot框架之复合条件查询

    个人技术总结——SpringBoot框架之复合条件查询

    1、技术概述

    • 描述这个技术是做什么
    • 用于对已有数据的条件查询,返回符合条件的数据
    • 学习该技术的原因
    • 对于多而杂的数据,我们需要找到自己所需要的内容,所以组合条件查询就十分必要
    • 技术的难点在哪里
    • 难点在于DAO层的动态sql语句

    2、技术详述

    描述你是如何实现和使用该技术的,要求配合代码和流程图详细描述。可以再细分多个点,分开描述各个部分。

    1. 主要步骤如下:
    2. 详细描述:
    <?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="edu.fzu.zhishe.core.dao.CmsBulletinDAO">
    
        <resultMap id="BulletinResultMap" type="edu.fzu.zhishe.core.dto.CmsBulletinsDTO">
            <id column="id" jdbcType="INTEGER" property="id" />
            <result column="title" jdbcType="VARCHAR" property="title" />
            <result column="body" jdbcType="VARCHAR" property="body" />
            <result column="create_at" jdbcType="TIMESTAMP" property="createAt" />
            <result column="update_at" jdbcType="TIMESTAMP" property="updateAt" />
        </resultMap>
    
        <select id="listBulletin" parameterType="java.lang.Integer" resultMap="BulletinResultMap">
         SELECT
            p.id,
            p.club_id,
            p.title,
            p.body,
            p.create_at,
            p.update_at
         FROM
            cms_bulletin AS p
         WHERE
            p.club_id = #{clubId}
            <if test="bulletinQuery.title != null and bulletinQuery.title != ''">
                AND p.title LIKE concat("%",#{bulletinQuery.title},"%")
            </if>
            <if test="bulletinQuery.body != null and bulletinQuery.body != ''">
                AND p.body LIKE concat("%",#{bulletinQuery.body},"%")
            </if>
            ORDER BY
            p.update_at DESC
        </select>
    </mapper>
    

    3、技术使用中遇到的问题和解决过程。

    其实最开始遇到的问题是不知道步骤,但是请教了组长,他也给了我很详细的步骤(如上所诉)
    接下来的问题就是手写DAO中sql语句的编写,不是编译错误就是与预期结果不同,最终才发现是某些符号或位置错误或打错,所以说,打代码时一定要细心,一个小小的符号可能导致结果的大不同。(主要参考组里大佬的文件 FmsPostDAO.xml

    4、总结。

    一开始前端给我提出这个要求时,我感觉有点难以实现(凭自己的实力),但是请教了组长之后,实现起来还是可以上手的,所以说遇到问题觉得难时,不要轻易放弃,要用于尝试,也可以请教大佬。大数据时代,查询应该可以说是必不可少的,可以多多学习。

    5、列出参考文献、参考博客(标题、作者、链接)

    主要的步骤、思路等都是由组长(组长的博客)提供,所以暂无其他参考

  • 相关阅读:
    前端与算法 leetcode 344. 反转字符串
    JavaScript闭包使用姿势指南
    前端与算法 leetcode 48. 旋转图像
    前端与算法 leetcode 36. 有效的数独
    前端与算法 leetcode 1. 两数之和
    前端与算法 leetcode 283. 移动零
    前端与编译原理 用js去运行js代码 js2run
    前端与算法 leetcode 66. 加一
    前端与算法 leetcode 350. 两个数组的交集 II
    前端与算法 leetcode 26. 删除排序数组中的重复项
  • 原文地址:https://www.cnblogs.com/zoumh/p/13179659.html
Copyright © 2011-2022 走看看