mybatis的xml中小的注意事项

1.

比较大的公司都是要求xml的sql中不可以使用 * 号的,那么那么多字段看着确实很别扭

    <sql id="Base_Column_List">
        id, gmt_create,gmt_modified,gmt_creator,gmt_modifier
    </sql>

在mapper.xml中写这个,然后

 <include refid="Base_Column_List" />

使用include标签把这段当 * 使还是不错的

当然,include也可以用来拼接sql等.


2.

        select
        <include refid="Base_Column_List" />
        from api_mapping
        where 1=0
        <if test="id!= null">
            OR prod_code = #{id,jdbcType=VARCHAR}
        </if>

这样传id为空的话也不会出现sql错误,只是返回空结果集


3.

        <if test="_parameter != null">
            OR prod_code = #{_parameter,jdbcType=VARCHAR}
        </if>

当时看到这个_parameter有那么一些懵

说一下传参方式吧

(1) 单个参数(String)  不加@Param , 使用_parameter 就上面那个例子

(2) 多个参数  不加@param:  比如三个参数   #{0},#{1},#{2}  或者 #{param1},#{param2}#{param3}

        注意! 前者是#{0}代表第一个参数 , 后者是#{param1}代表第一个参数 

(3)多个参数 不加@param: 使用Map传参

    #{key}取值  注意标签中 用 parameterType="java.util.Map"属性

(4)加@Param 直接#{注解中定义的属性名}传值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值