此次在项目中相遇了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. django Warning: (3135, "'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes

    django连接数据库配置设置如下 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test2', ...

  2. Wannafly Camp 2020 Day 7H 游戏 - 欧拉筛,GCD

    忘记特判 \(1\) ,血了一地 听说 \(O(n^2 \log n)\) 能过? #include <bits/stdc++.h> #define int long long using ...

  3. js中的window.location.search的用法与作用。

    用该属性获取页面 URL 地址: window.location 对象所包含的属性 属性 描述 hash 从井号 (#) 开始的 URL(锚) host 主机名和当前 URL 的端口号 hostnam ...

  4. python:删除文件及文件夹

    #!/usr/bin/python# -*- coding:utf-8 -*- import os import shutil os.remove(path) #删除文件shutil.rmtree(p ...

  5. Python常用的类库、对应的方法和属性

    Python常用的类库.对应的方法和属性

  6. JDK的安装与环境配置(Windows10)

    1.安装JDK首先需要到官网下载jdk,下载地址为:https://www.oracle.com/technetwork/java/javase/downloads/index.html 目前官方已经 ...

  7. 在多租户(容器)数据库中如何创建PDB:方法1 从种子创建PDB

    基于版本:19c (12.2.0.3) AskScuti 创建方法:从零开始创建一个PDB(从PDB$SEED创建新的PDB) 对应路径:Creating a PDB --> Creating ...

  8. Apache-Tomcat-Ajp漏洞(CVE-2020-1938)漏洞复现(含有poc)

    Apache-Tomcat-Ajp漏洞(CVE-2020-1938)漏洞复现 0X00漏洞简介 Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可 ...

  9. 执行yum命令报错"Unable to connect to Registration Management Service"

    问题描述 linux上执行yum相关命令时,报无法连接到注册管理服务的错误,具体报错信息如下 [root@aijihe-core-zy-2-3 ~]# yum install gcc Loaded p ...

  10. uGUI源码调试

    uGUI源代码地址:https://bitbucket.org/Unity-Technologies/ui 工具编译后转换位置{Unity3D_Vserion}\Editor\Data\UnityEx ...