Mybatis中关于参数的问题

本文详细解析了MyBatis中处理单一字符串参数的方法,包括使用@param注解及内置参数_parameter,避免mybatis找不到参数的问题。同时介绍了在关联查询中如何利用resultMap进行手动映射,并展示了XML配置文件间的调用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Mybatis 中如果参数只有一个,且是String类型的,在mapper中需要加入 @param 注解标出或使用mybatis 内置参数 _parameter,否则mybatis 无法找到该参数,会抛出 there is no getter for property named "xxx" in java.lang.String;

//mapper
Student xxx getStudents(@param("name") String name);

//xml --使用注解
<select id="xxxx" paramterType="java.lang.String" resultMap="baseMap">
    select * from xxTable where 1=1
    <if test="name !=null">
     and name=#{name}
    </if>
</select>
// xml --使用内置参数
<select id="xxxx" paramterType="java.lang.String" resultMap="baseMap">
    select * from xxTable where 1=1
    <if test="_parameter!=null">
     and name=#{_parameter}
    </if>
</select>

2.mybati 关联查询是,查出来的字段即使和某个类的字段一一对应,也无法很好的完成映射,可以使用resultMap进行手动映射

3.mybatis 中 xml 的东西可以相互调用,如xml1调用xml2里的东西,调用方式如下

// xml1 查询出来的字段映射为一个map
<select id="xxx" resultMap="com.xx.xxMapper.BaseMap">
    select name from table1 
</select>

// xml2 
<mapper namespace="com.xx.xxMapper">
    <resultMap id="BaseMap" type="com.xx.entry.Student">
        <result column="NAME" property="name">
    </resultMap>
</mapper>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值