主要有两个配置文件,一个是主配置文件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. poj1837 01背包(雾

    Description A train has a locomotive that pulls the train with its many passenger coaches. If the lo ...

  2. 数据恢复软件推荐-easyrecovery绿色破解版(附注册码)免费下载

    easyrecovery破解版专注于PC端存储数据的抢救恢复,软件的整体界面风格和360杀毒有些许相似,没有看起来像牛皮藓的杂乱广告,只有六个功能按键,对应你所遇到的数据丢失状况级别,点击最为适合的功 ...

  3. python框架Django中的MTV架构

    MTV架构 关注公众号"轻松学编程"了解更多. ​ 通过V对M和T进行连接,用户通过T(界面)对服务器进行访问(发送请求),T把请求传给V(调度),V调用M(数据模型)获取数据,把 ...

  4. 硬核卸载Vue(删除)

    第一步 查找vue位置 打开 cmd 输入 where vue 第二步 进入文件 直接cv(复制粘贴) 随便打开个文件 第三步 删除vue 删除前缀vue的所有 进入node_modules 删除@v ...

  5. 【QT】继承QRunnable+QThreadPool实现多线程

    往期链接: <QThread源码浅析> <子类化QThread实现多线程> <子类化QObject+moveToThread实现多线程> 本文章实例的源码地址:ht ...

  6. 1、Web应用

    一 Web应用的组成 接下来我们学习的目的是为了开发一个Web应用程序,而Web应用程序是基于B/S架构的,其中B指的是浏览器,负责向S端发送请求信息,而S端会根据接收到的请求信息返回相应的数据给浏览 ...

  7. HTML页面通过JS跨域调用,子传父

    父页面:a.html 代码: <html> <head> <script type="text/javascript"> function te ...

  8. gitlab - 解决访问 gitlab 网站出现 502 报错信息的问题

    问题背景 访问 gitlab 网站,出现 502 解决方案 先查看运行 gitlab 容器的 id docker ps 运行命令 # 容器里启动服务 docker exec id gitlab-ctl ...

  9. 准备数据集用于flink学习

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  10. [tmp]__URL

    常用排序算法稳定性.时间复杂度分析(转,有改动) http://www.cnblogs.com/nannanITeye/archive/2013/04/11/3013737.html http://w ...