自动回复之实现随机回复与常用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...

原文地址:https://www.cnblogs.com/xkxf/p/7142398.html