parameterType和parameterMap的不同

本文深入探讨了MyBatis中的ResultMap、ResultType、ParameterMap和ParameterType概念,解释了它们在XML配置文件中的应用,以及如何通过这些机制实现数据库查询结果与Java对象之间的映射。特别强调了ResultMap的灵活性及其在多表查询和使用别名情况下的优势,同时对比了ParameterMap和ParameterType的使用场景。

平常都是使用parameterType,今天写代码遇到parameterMap,突然,不知道怎么用。

关于ResultMap和ResultType、ParameterMap和ParameterType,它们都是存在于mybatis的应用中。一般在编写xml会用到。

    1- 先说下ResultMap和ResultType,它们都是用来表示查询结果集与java对象之间的一种关系,将查询结果集,按照某种关系映射到java对象。

    2- ResultMap:将查询结果集中的列一一映射到java对象的各个属性上去,此处的这个映射关系,是根据用户在“resultMap”的子标签中的配置来决定的,灵活多变,常用于多表查询以及查询时使用别名的情况。

ParameterMap(不推荐) & parameterType     

       ParameterMap和ResultMap类似,设置入参字段映射,很少使用(不建议使用)

       一般使用parameterType直接将查询结果列值类型自动对应到java对象属性类型上,不再配置映射关系一一对应。

这里在提下#{}和${}的使用区别:
 例子如下:

Select ID,COMMAND from Message where COMMAND=#{command}

Select ID,COMMAND from Message where COMMAND=‘${command}’

前者解析为:

            Select ID,COMMAND from Message where COMMAND=?具有预编译效果

后者解析为:

            Select ID,COMMAND from Message where COMMAND=段子   不具有预编译效果

 

但是,例如当页面向后台传递一个列名(属性名)的时候,是不希望被预编译出一个?的,此时要用到$格式;

如:加上 order by${param} ,此时param是一个列名。

    

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值