发布网友 发布时间:2022-04-24 09:17
共1个回答
热心网友 时间:2022-06-18 11:16
简单数据类型
mapper接口方法:
1
User
selectByPrimaryKey(Integer id);
sql映射:
1
2
3
4
5
6
<select
id="selectByPrimaryKey"
resultMap="BaseResultMap"
parameterType="java.lang.Integer"
>
select
<include
refid="Base_Column_List"
/>
from
base.tb_user
where
id = #{id,jdbcType=INTEGER}
</select>
对于简单数据类型,sql映射语句中直接#{变量名}这种方式引用就行了,其实这里的”变量名”可以是任意的。mapper接口方法传递过来的值,至于其叫什么名字其实是不可考也没必要知道的。
而且JAVA反射只能获取方法参数的类型,是无从得知方法参数的名字的。
比如上面这个示例中,使用#{id}来引用只是比较直观而已,使用其他名字来引用也是一样的。所以当在if元素中test传递的参数时,就必须要用_parameter来引用这个参数了。像这样:
1
2
3
4
5
6
7
8
<select
id="selectByPrimaryKey"
resultMap="BaseResultMap"
parameterType="java.lang.Integer"
>
select
<include
refid="Base_Column_List"
/>
from
tb_user