【常用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 !"".equals(name.trim())"> and a.NAME=#{name}</if> <if test="description != null and !"".equals(description.trim())"> and a.DESCRIPTION like '%' #{description} '%'</if> </select>
上述内容有错 其中一个id 要起别名 否则会冲突。
5、修改Service...