此次在项目中相遇了mybatis,重新回顾下。

1.resulMap解决了结果集的列名字跟实体setter和getter不匹配的问题

其中property是实体的setter和getter对象,column是表中的列字段

2.mybatis的动态sql语句,自豪的技术,主要是拼装sql语句

  1)if

  2)choose(when,otherwise)

  3)trim(where ,set)

  4)foreach

这就是mybatis中主要的动态sql表达标签,

  a.if标签中test是判断条件,其他和if没有什么改变。

<if test =" name != null">

  and userName = #{name}

</if>

  b.choose when otherwise 和switch case相像,很多情况下选择一种,若没有就是otherwise中的语句

  c.where标签,if条件第一个不成立,第二个成立,where and address = #{address},如果mybatis检测到where后and,则去掉and关键字,如果if条件都不成立,where关键字也会去掉。比如

  d.set标签,第一个条件成立,第二个条件不成立,会自动去掉第一个条件后面的都号;若两个条件都没有成立,set不会出现,但会报异常,sql异常,至少有一个条件成立。比如:

  e.trim标签,trim标签替换wher标签,prefix前缀 where,prefix="where";prefixOverrides="AND | OR",prefixOverrides:前缀覆盖,第一个if条件不成立,第二个if条件成立,会prefixOverrides中的值去覆盖,都不成立where前缀会去掉,比如;

  

  f.trim标签,替换set。prefix="SET" 前缀为set,suffixOverrides="," 后缀为都好。第一个条件成立,第二个条件不成立,后去掉后面的逗号,至少有一个if要成立,不然报sql语法异常。比如:

  h.foreach标签,就是循环,比如:

3.mybatis的关联映射

  1)对一关联:association

  2)对多关联:collection

比如以下例子:

对一关联:

对多关联:

mybatis重新回顾的更多相关文章

  1. Mybatis的回顾学习

    <!--id:statementId resultType:查询结果集的数据类型 parameterType:查询的入参 --> <selectid="getUserByI ...

  2. mybatis总结回顾

    1.mybatis的介绍 轻量级数据持久层框架,替代hibernate 2.mybatis的入门 导包-->配置文件(类名.xml.SqlMapConfig.xml) 类名.xml:放映射.sq ...

  3. mybatis增强

    MyBatis SQL参数传递(掌握) SQL映射器Mapper接口(掌握)Myb atis批量操作(理解掌握) (多对一)关联映射(掌握) (一对多,多对多)集合映射 MyBatis原理回顾(Obj ...

  4. Spring学习笔记:Spring整合Mybatis(mybatis-spring.jar)(一:知识点回顾)

    一.知识点回顾 1.Mybatis环境搭建(DAO层的实现)(使用maven项目管理工具) 需要引入的依赖包: <!-- 单元测试junit --> <dependency> ...

  5. 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_1 回顾Mybatis的环境搭建-实现查询所有功能

    先回顾Mybits的环境搭建,. 直接next 直接点击finish 创建好的项目. 所有东西都自己写不现实,约束文件的头部还是拷贝过来 导入依赖坐标,Mybits mysql的驱动 log4j 单元 ...

  6. mybatis高级(1)(入门回顾)

    首先入门案例(并且拿到新增记录当前id) 1.创建mybatis-config.xml文件 <?xml version="1.0" encoding="UTF-8& ...

  7. MYBATIS 简单整理与回顾

    这两天简单整理了一下MyBatis 相关api和jar包这里提供一个下载地址,免得找了 链接:http://pan.baidu.com/s/1jIl1KaE 密码:d2yl A.简单搭建跑项目 2.进 ...

  8. 【springmvc+mybatis项目实战】杰信商贸-6.重点知识回顾

    1.重点知识回顾 Maven1)覆盖仓库文件,实际企业开发,公司会架一个测试服务器,在测试服务器中架私服.我们开发人员的程序,都连接私服.当本地没有项目中要使用的jar,Myeclipse maven ...

  9. 回顾一下MyBatis逆向工程——自动生成代码

    前言 最近做的项目(SSM+Shiro)的数据库表已经创建完成,一共有15张表,如果我们一个个去写pojo/bean的代码以及各种sql语句的话未免太过麻烦而且很容易出错,这个时候我们就需要MyBat ...

随机推荐

  1. 简单理解Linux系统的挂载是什么鬼

    转载自http://c.biancheng.net/view/2859.html Linux系统中“一切皆文件”,所有文件都放置在以根目录为树根的树形目录结构中.在 Linux 看来,任何硬件设备也都 ...

  2. H5 使用input标签上传图片给后台

    html代码: <div class="hpk-showimg"> <!-- 营业执照 --> <div class="idcardup&q ...

  3. [CF994B] Knights of a Polygonal Table - 贪心,堆

    有 n 个骑士想决战.每个骑士都有能力值(互不相同),且身上带有一些金币.如果骑士 A 的能力值大于骑士 B ,那么骑士 A 就可以杀死骑士 B ,并获得骑士 B 身上的所有金币.但就算是骑士也不会残 ...

  4. Java时间格式字符串与Date的相互转化

    目录 将Date转化为格式化字符串 时间格式字符串转化为Date @ 将Date转化为格式化字符串 将Date转化为格式化字符串是利用SimpleDateFormat类继承自 java.text.Da ...

  5. ECMAScript基本语法——③数据类型

    Java内有两种 基本数据类型:4类八种 引用数据类型:对象 JavaScript也有两种 原始数据类型 其实是基本数据类型 number:数字.整数.小数.NaN(特殊的数字,not a numbe ...

  6. HttpApplication处理管道处理过程简单描述

    HttpApplication对象是由Asp.net帮助我们创建的,它是asp.net中处理请求的重要对象.为了便于扩展,HttpApplication采用处理管道的方式进行处理,将处理的步骤分为多个 ...

  7. docker安装elasticsearch和head插件

    使用 Docker 拉取ElasticSearch镜像 docker pull elasticsearch:7.0.0 查看镜像 ID docker images 运行 docker run -e E ...

  8. 《深入理解Java虚拟机》读书笔记一

    第二章 Java内存区域与内存溢出异常 1.运行时数据区域 程序计数器: 当前线程所执行的字节码的行号指示器,用于存放下一条需要运行的指令. 运行速度最快位于处理器内部. 线程私有. 虚拟机栈: 描述 ...

  9. Android监听消息通知栏点击事件

    Android监听消息通知栏点击事件 使用BroadCastReceiver 1 新建一个NotificationClickReceiver 类,并且在清单文件中注册!! public class N ...

  10. apache配置跨域请求代理

    1.配置允许跨域请求 Header always set Access-Control-Allow-Origin "*"Header always set Access-Contr ...