【常用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...

自动回复之实现随机回复与常用Mapper XML标签的更多相关文章

  1. mapper.xml中的常用标签

    mybatis的mapper xml文件中的常用标签 https://blog.csdn.net/qq_41426442/article/details/79663467 SQL语句标签 1.查询语句 ...

  2. Java数据持久层框架 MyBatis之API学习六(Mapper XML 文件详解)

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

  3. 【MyBatis】Mapper XML 文件

    Mapper XML文件 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立 ...

  4. MyBatis——Mapper XML 文件

    Mapper XML 文件 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会 ...

  5. MyBatis Mapper XML 详解

    MyBatis Mapper XML 详解 MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL 映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JD ...

  6. mybatis公用代码抽取到单独的mapper.xml文件

    同任何的代码库一样,在mapper中,通常也会有一些公共的sql代码段会被很多业务mapper.xml引用到,比如最常用的可能是分页和数据权限过滤了,尤其是在oracle中的分页语法.为了减少骨架性代 ...

  7. Mybatis学习--Mapper.xml映射文件

    简介 Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. 映射文件中有很多属性,常用的就是parameterType(输入类型 ...

  8. mybatis Mapper XML 映射文件

    传送门:mybatis官方文档 Mapper XML 文件详解 一. 数据查询语句 1. select <select id="selectPerson" parameter ...

  9. Java工具类_表结构自动生成对应的实体类、Mapper.xml文件、Dao类

    import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWrit ...

随机推荐

  1. 【 D3.js 入门系列 --- 9.4 】 集群图的制作

    本人的个人博客为: www.ourd3js.com csdn博客为: blog.csdn.net/lzhlzz 转载请注明出处,谢谢. 集群图( Cluster )通经常使用于表示包括与被包括关系. ...

  2. 【Python】求素数-未经过任何优化

    print 'Find prime number smaller then input number \n' print 'Please input a number:' import time nu ...

  3. 用python解析html--SGMLParser

    sgmllib.py 包含一个重要的类: SGMLParser.SGMLParser 将 HTML 分解成有用的片段, 比如开始标记和结束标记.一旦它成功地分解出某个数据为一个有用的片段,它会根据 所 ...

  4. Java Cache

    Ehcache http://www.ehcache.org/ Memcached http://memcached.org/ Server http://blog.couchbase.com/mem ...

  5. Configuration注解类 Bean解析顺序

    @PropertySource 加载properties @ComponentScan 扫描包 @Import 依赖的class @ImportResource 依赖的xml @Bean 创建bean ...

  6. SqlBulkCopy 通过泛型数组批量插入

    public void SqlBulkCopy<T>(string tablename, List<T> list) { Type recordType = typeof(T) ...

  7. less.js

    在引入你自己的less文件的时候 <link rel="stylesheet/less" href="styles/site.less"> 之后再引 ...

  8. HDU4267(2012年长春站)

    这道题真的是好题,让我对线段树有了全新的认识,至少让我真正感受到了线段树的神奇. 题意是就是线段树区间更新,单点询问的问题,不过这个题好就好在它的区间更新的点并不连续! adding c to eac ...

  9. Guava教程

    http://ifeve.com/google-guava/ github地址:https://github.com/google/guava

  10. Web移动端使用localStorage缓存Js和css文件 | 强制不要缓存

    1.尽量不把js放在onload事件中,而是放在由用户主动触发的事件 2.加时间戳,时间不同则会加载js而非使用缓存 强制不要缓存: <meta http-equiv=Cache-Control ...