MyBatis条件查询传参(学习笔记)

(学习笔记仅帮助自己理解记忆,部分内容可能存在理解错误,如有发现,还望指出)

主要为接口与sql映射文件之间各类型参数传递与在sql语句中获取的一系列操作;

当传递1个或多个参数时:

//条件查询
返回值类型 方法名(数据类型 形参名,...);

可使用注解org.apache.ibatis.annotations包下的Param

//条件查询
返回值类型 方法名(@Param("别名") 数据类型 形参名,...);

在sql映射文件中的获取:

<select id="selByCdt" resultType="pojo.Smbms_User">
        SELECT * FROM 表名
        WHERE 列名 LIKE CONCAT('%',#{注解起的别名},'%')
    </select>

当传递参数为对象时:

在sql映射文件中的获取:

<insert id="addUser" parameterType="类的全路径">
        INSERT INTO smbms_user(userCode,userName) 
        VALUES(#{类的属性},#{类的属性})
    </insert>

当传递参数为HashMap时:

在sql映射文件中的获取:

<select id="selBuCdtUseMap" resultType="pojo.Smbms_User">
        SELECT * FROM smbms_user 
        WHERE userName LIKE 
        CONCAT('%',#{Key值},'%') AND gender=#{Key值}
    </select>

当传递参数为ArrayList时:

在sql映射文件中的获取:

<select id="selUseAryList" resultType="pojo.Smbms_User">
        SELECT * FROM smbms_user 
        WHERE userRole in(#{list[索引]},#{list[索引]})
</select>

当传递参数为数组时:

在sql映射文件中的获取:

<select id="selUseAry" resultType="pojo.Smbms_User">
        SELECT * FROM smbms_user
        WHERE userRole in(#{array[索引]},#{array[索引]})
    </select>

PS:所有类型参数都可以加注解起别名,在取参数是对应每种类型的取值方式即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值