主要有两个配置文件,一个是主配置文件SqlConfig.xml,

还有一个是dao接口实现类相对应的mapper的配置文件 。比如userDao的userDao.xml配置文件。

1.resultType 标签

用在userDao.xml 中,用在增删改查标签中,用于指定结果的返回类型,比如说下面这样。

2.resultMap标签

用在userDao.xml中,这个标签可以用来解决数据库字段和实体字段名称不匹配的问题,相当于是对我们配置的数据库表的字段起别名。用来和我们实体字段匹配,一个对一个的匹配。

上面的 id=“userMap” ,就是给这个resultMap标签有一个唯一id,用来给下面的语句引用,type="domain.User" 表示我们配置的是哪个实体类,

下面的id表示主键相对应,result表示普通属性。  记住:resultType和resultMap只能用一个,我们如果用了resultMap就等于想要的id就可以了,然后在查询出结果返回时就会自动用这个里面的属性进行匹配。

3.#{}字符

它表示占位符,相当于原来jdbc中sql语句中的?,用来在实际执行时替换实际的数据,具体数据是由#{}里面的内容决定的,这是我们需要传入的参数。

4.select last_insert_id()

这是用来查询自增长的id,如果我们往数据库中插入一条记录,但是如果id是自增长的,那么你如果取到这个id就可以通过这个语句。

5.模糊查询的%

对于模糊查询我们在sql语句中是不需要写出%的,就只需要留一个#{string}就可以,其他的可以在传参的时候给出,这样的话,sql中就会是这样 like ?

6.#{}和${}的区别

#{}表示一个占位符号通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换,#{}可以有效防止sql注入。#{}可以接收简单类型值或pojo属性值。如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称。
${}表示拼接sql串通过${}可以将parameterType传入的内容拼接在sql中且不进行jdbc类型转换,${}可以接收简单类型值或pojo属性值,
如果parameterType传输单个简单类型值,${}括号中只能是value。

7.properties属性

是在SqlConfig.xml中的配置属性。对于properties属性,这是用来将数据库连接信息和程序解耦,如果不用resource就是被注释掉的内容,resource可以用来引入另外的配置文件中的属性配置。

8.typeAliases标签

这是在SqlConfig中的配置,这个标签就是用来给我们的domain下的实体类起别名的,这个是在主配置文件中使用的,配置了以后就可以在任意地方使用我们配好的别名,相当于少些几个字,package使用就可以自动使别包下的类名当作别名。

9。mapper标签

这是主配置文件中使用的标签。表示映射器的意思,这样使用就可以自动找到我们对应的每个映射文件的位置,mappers标签是大的mapper标签的父类,里面很多的mapper标签,每个都表示一个映射配置文件,而这个映射配置文件对应着一个dao的实现。

mybatis中的一些标签使用的更多相关文章

  1. mybatis 中的where标签

    mybatis中的where标签可以去除 开头的 and 或者 or 但是放在后面的不行 失败的: <select id="countNotesByParam" parame ...

  2. mybatis中使用if标签比较两个字符串是否相等

    <!-- 此处使用if比较是否相等 --> 范例一: <select id="findClientIds" parameterType="map&quo ...

  3. MyBatis 中 sqlmapconfig核心标签typeAliases配置说明

    标签说明 在 MyBatis 的 sql 映射配置文件中,需要使用 paramterType.resultType 来设置 sql 语句的输入输出参数,一般参数都是基本的数据类型或封装类型,但都需要声 ...

  4. MyBatis 中 sqlmapconfig核心标签说明以及配置

    文件介绍 对于 MyBatis 最核心的全局配置文件是 sqlmapConfig.xml 文件,其中包含了数据库的连接配置信息.Mapper 映射文件的加载路径.全局参数.类型别名等. 配置项详解 标 ...

  5. MyBatis中关于SQL标签的用法(重用SQL 代码段)

    一. 没用sql标签前的SQL映射代码: <select id="findById" resultType="cn.tedu.mybatis.entity.User ...

  6. Mybatis中的CDATA标签

    术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data). 在 XML 元素中,"<" 和 "&& ...

  7. MyBatis中<if test=" ">标签条件不起作用

    问题产生? 今天在做Excel导出的时候,有个判断一个状态的字段,我的这个字段是int类型的,还有两个时间类型,我在判断的时候给的是Long类型的. 在测试的时候发现,不管怎么样都不执行if条件里面的 ...

  8. Mybatis中的ognl表达式。及myabtis where标签/if test标签/trim标签

    1.mybatis默认支持使用ognl表达式来生成动态sql语句 MyBatis中可以使用OGNL的地方有两处: 动态SQL表达式中 ${param}参数中 上面这两处地方在MyBatis中处理的时候 ...

  9. mybatis中if标签判断字符串相等问题

    mybatis 映射文件中,if标签判断字符串sfyx变量是否是字符串Y的时候,发现并不管用: <if test="sfyx=='Y' "> and 1=1 </ ...

随机推荐

  1. mininet实践应用

    目录 mininet的安装和基本指令的了解 安装过程 拓扑类型和基本指令 mininet拓扑实战 拓扑的创建和编辑 对自定义拓扑一些简单的测试. 测试总结 mininet的安装和基本指令的了解 安装过 ...

  2. 涨知识的一个pwn题:de1ctf_2019_weapon

    没做出来,wtcl,看了师傅们的wp才找到思路,收获了很多 怎么说呢,这个题很简单但是很巧妙,逆起来几乎无难度 漏洞点位于free函数,一个简单的UAF漏洞 然后接下来说说我一开始的思路 由于程序没有 ...

  3. 《SQL 必知必会》读书笔记

    第1课 了解 SQL 这章主要介绍了数据库,表,字段类型,行,列,主键和SQL等基本概念. 数据库:以某种形式存储的数据集合,在计算机上的表现形式可能是一个文件或者一组文件.我们平时所说的数据库,往往 ...

  4. 支持向量机SVM基本问题

    1.SVM的原理是什么? SVM是一种二类分类模型.它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器.(间隔最大是它有别于感知机) 试图寻找一个超平面来对样本分割,把样本中的正例和反例 ...

  5. B站:我是程序汪:电话面试(待更新)

    电话面试: 商城: 1.spring bean的生命周期你可以简单描述一下吗? 能记得几个接口名吗? 2.springMVC的处理流程 3.项目出现生产问题,排查日志有什么方法吗,思路,大概说一下 4 ...

  6. Numpy入门(简单)

    NumPy介绍 最近因为需要使用python做一个数据处理的项目,所以粗略的学习了一下numpy,在此分享一下自己学习中遇到的一些问题和一些基础的名词. 什么是NumPy? python用于科学计算的 ...

  7. Docker学习—DockerFile

    前言: 上一篇文章简单使用了docker 拉取镜像.启动容器.编译镜像:其中编译镜像时,使用到了Dockerfile,那么接下来我们就详细的来说说Dockerfile DockerFile是什么: D ...

  8. .NET内存分析工具-dotMemory

    .NET内存分析工具-dotMemory 1.介绍 官网链接 引言 程序内存占用较大?内存溢出?需要分析生产环境程序怎么办? dotMemory 使您可以分析各种 .NET 和 .NET Core应用 ...

  9. Java的Arrays.sort()方法到底用的什么排序算法

    暂时网上看过很多JDK8中Arrays.sort的底层原理,有些说是插入排序,有些说是归并排序,也有说大于域值用计数排序法,否则就使用插入排序...其实不全对.让我们分析个究竟: 1 // Use Q ...

  10. Andrew Ng 机器学习公开课 - 线性回归

    我的机器学习系列从现在开始将会结合Andrew Ng老师与sklearn的api是实际应用相结合来写了. 吴恩达(1976-,英文名:Andrew Ng),华裔美国人,是斯坦福大学计算机科学系和电子工 ...