zoukankan      html  css  js  c++  java
  • 自动回复之实现随机回复与常用Mapper XML标签

    【常用Mapper XML标签】

    1、基本的:select、insert、update 等

    2、可读性、方便拼SQL:where、set、trim

    3、减少重复:sql

    4、逻辑控制:if、choose when

    5、映射:collection、association

     

    【自动回复之实现随机回复】

    内容来自 imooc 视屏教程:http://www.imooc.com/video/4721

    言下之意就是发送相同的指令获取不同的回复。

    1、最简单的方法就是用一张表存, 把某一指令对应的回复字段 全部查出来,随机选择一个回复过去。

    2、但是这样的表 在设计上不太好 。。不符合范式 。。。

    类似这种一对多的关系通常需要拆表,一张表专门存指令:

    另一张表存取指令对应的内容(一条指令可能对应多个

    对应多条

    3、“一”的那个表被称为主表,对应的“多”被称为子表,相应的,需要在Java代码中为它们添加实体类,如下所示:

     (略。。Command类需要有一个ContentList)

    4、修改.xml 与DAO 

      <select id="queryCommandList" parameterType="com.imooc.bean.Command" resultMap="CommandResult">
        select a.ID, a.NAME, a.DESCRIPTION, b.ID, b.CONTENT, b.COMMAND_ID 
        from COMMAND a left join COMMAND_CONTENT b
        on a.ID=b.COMMAND_ID
        where 1=1
        <if test="name != null and !&quot;&quot;.equals(name.trim())">
            and a.NAME=#{name}</if>
        <if test="description != null and !&quot;&quot;.equals(description.trim())">
            and a.DESCRIPTION like '%' #{description} '%'</if>
      </select>

     

    上述内容有错 其中一个id 要起别名 否则会冲突。

    5、修改Service...

  • 相关阅读:
    Ubuntu16.04下安装virtualbox,配置及卸载
    机器学习1-线性回归
    python中的数据结构-链表
    Numpy 对于矩阵的操作持续更新
    ubuntu16.04 下同时打开多个终端窗口
    matlab mashgrid 函数
    站立会议04
    站立会议03
    第一次冲刺--站立会议02
    第一次冲刺--站立会议01
  • 原文地址:https://www.cnblogs.com/xkxf/p/7142398.html
Copyright © 2011-2022 走看看