Mybatis的mapper文件中#和$的区别 以及 resultType和resultMap的区别

Posted liuqing576598117

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis的mapper文件中#和$的区别 以及 resultType和resultMap的区别相关的知识,希望对你有一定的参考价值。

一般#{}用于传递查询的参数,一般用于从dao层传递一个string或者其他的参数过来,mybatis对这个参数会进行加引号的操作,将参数转变为一个字符串。

SELECT * FROM employee WHERE name="jack"

$则不同,我们一般用于ORDER BY的后面。

SELECT * FROM employee ORDER BY salary

 

MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性,而当我们提供的返回类型是resultMap的时候,将数据库中列数据复制到对象的相应属性上,可以用于复制查询,两者不能同时用。

以上是关于Mybatis的mapper文件中#和$的区别 以及 resultType和resultMap的区别的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis Mapper.xml文件中 $和#的区别

MyBatis Mapper.xml文件中 $和#的区别

关于Mybatis的mapper文件中${}和#{}的区别和注意事项

mybatis中xml格式的mapper文件中接收入参时#和$的区别

SpringBootSpringBoot集成MyBatis中@Mapper/@MapperScan和@Repository的区别

SpringBootSpringBoot集成MyBatis中@Mapper/@MapperScan和@Repository的区别