mybatis中的一些标签使用

Posted 小路不会迷路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中的resultMap,超详细讲解

MyBatis动态SQL中trim的使用

mybatis配置文件中的标签怎么不能用

mybatis foreach标签

MyBatis完全使用指南

MyBatis 完全使用指南