mybatis中的一些标签使用
主要有两个配置文件,一个是主配置文件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中的一些标签使用的更多相关文章
- mybatis 中的where标签
mybatis中的where标签可以去除 开头的 and 或者 or 但是放在后面的不行 失败的: <select id="countNotesByParam" parame ...
- mybatis中使用if标签比较两个字符串是否相等
<!-- 此处使用if比较是否相等 --> 范例一: <select id="findClientIds" parameterType="map&quo ...
- MyBatis 中 sqlmapconfig核心标签typeAliases配置说明
标签说明 在 MyBatis 的 sql 映射配置文件中,需要使用 paramterType.resultType 来设置 sql 语句的输入输出参数,一般参数都是基本的数据类型或封装类型,但都需要声 ...
- MyBatis 中 sqlmapconfig核心标签说明以及配置
文件介绍 对于 MyBatis 最核心的全局配置文件是 sqlmapConfig.xml 文件,其中包含了数据库的连接配置信息.Mapper 映射文件的加载路径.全局参数.类型别名等. 配置项详解 标 ...
- MyBatis中关于SQL标签的用法(重用SQL 代码段)
一. 没用sql标签前的SQL映射代码: <select id="findById" resultType="cn.tedu.mybatis.entity.User ...
- Mybatis中的CDATA标签
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data). 在 XML 元素中,"<" 和 "&& ...
- MyBatis中<if test=" ">标签条件不起作用
问题产生? 今天在做Excel导出的时候,有个判断一个状态的字段,我的这个字段是int类型的,还有两个时间类型,我在判断的时候给的是Long类型的. 在测试的时候发现,不管怎么样都不执行if条件里面的 ...
- Mybatis中的ognl表达式。及myabtis where标签/if test标签/trim标签
1.mybatis默认支持使用ognl表达式来生成动态sql语句 MyBatis中可以使用OGNL的地方有两处: 动态SQL表达式中 ${param}参数中 上面这两处地方在MyBatis中处理的时候 ...
- mybatis中if标签判断字符串相等问题
mybatis 映射文件中,if标签判断字符串sfyx变量是否是字符串Y的时候,发现并不管用: <if test="sfyx=='Y' "> and 1=1 </ ...
随机推荐
- viewPager删除缓存fragment
fragment结合viewpager会缓存fragment在内存,除非退出程序,想要不退出程序情况下刷新fragment页面,就要删除缓存; public class MainActivity ex ...
- Windows搭建Hexo系统
date: 2018-11-16 17:10:51 updated: 2018-11-16 20:04:43 1.安装Git 下载Windows下的Git客户端并安装,安装很简单,基本一路Next下去 ...
- ES概要
ES分布式搜索,依赖了Lucene来提供搜索引擎功能,每个数据节点都是一个Lucene实例,通过将索引进行分片,写入和查询时候操作或查询对应分片,来达到水平扩展的能力 节点 Master node:负 ...
- 一站式Web开发套件BeetleX.WebFamily
BeetleX.WebFamily是一款前后端分离的Web开发套件,但它并不依赖于nodejs/npm/webpack等相关工具:而使用自身实现的方式来完成前后端分离的Web应用开发:套件以组件的方式 ...
- 吐槽一下Abp的用户和租户管理模块
1. 背景 ASP.NET Core 基于声明的访问控制到底是什么鬼? 聊到基于声明的身份认证将 身份和签发机构分离,应用程序信任签发机构,故认可签发的身份信息. -- --- --- --- Cla ...
- Bootstrap Blazor 初体验
自微软去年发布blazor以来,我也一直关注着blazor的动态,从net core 3.1 到 net 5,从 server side 到 wasm client , 点点滴滴印证了 blazor ...
- 硬核卸载Vue(删除)
第一步 查找vue位置 打开 cmd 输入 where vue 第二步 进入文件 直接cv(复制粘贴) 随便打开个文件 第三步 删除vue 删除前缀vue的所有 进入node_modules 删除@v ...
- 凝思磐石安全系统V6.0.8版本(debian)增加多于4个串口方法
在网上找了好多方法,大家基本上都用ubuntu系统做实现演示,里面的有些文件我在凝思系统上根本找不到,最终通过摸索已解决,记录下操作过程(整个过程都需要在root用户下进行): 判断系统目前能识别的串 ...
- 内网渗透 day2-nmap和nc的使用
nmap和nc的使用 nmap的使用 1. nmap -sSV 172.16.100.214 -T4 -F -sS进行SYN扫描,是比较隐匿的 -sV探测打开端口的服务的信息 -sSV将上面两种一起使 ...
- Windows平台Python Pyramid实战从入门到进阶:第一个服务
Pyramid是比较流行的Python Web 框架,比较灵活,功能也很强大.最近项目上用到,便打算学习一下.网上教程比较少,而且很多都是针对linux平台的,我是windows土著所以对那些linu ...