myBatis常用标签

_parameter

_parameter 表示当前传入的参数,如果查询的时候传入的参数只有一个,则使用 _parameter

E getById(Integer id);
<select id="getById" parameterType="int" resultMap="BaseResultMap">
		SELECT *
		FROM
		库名.表名
		WHERE
		id = #{_parameter}
	</select>
if判断
<select id="getUsers" parameterType="int" resultType="User">
		SELECT id, name, phone, email FROM users WHERE 1=1
		<if test="_parameter != null">
			and id > #{_parameter}
		</if>
	</select>
大量重复的字段

<sql id="HHHHH">
		id,name
	</sql>
引用写法
<include refid="HHHHH"/>
foreach

1、item表示集合中每一个元素进行迭代时的别名,
2、index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,
3、open表示该语句以什么开始,
4、separator表示在每次进行迭代之间以什么符号作为分隔符,
5、close表示以什么结束,

<update id="updateBatch">
		<foreach item="item" index="index" collection="list" open=""
			close="" separator=";">
			<if test="item.statusType.toString() == 'DELETED'">
				DELETE FROM 库名.表名 WHERE id = #{item.id}
			</if>
			<if test="item.statusType.toString() != 'DELETED'">
				UPDATE 库名.表名
				<set>
					modifier = #{item.modifier,jdbcType=CHAR},
					<if test="item.account != null">
						account = #{item.account,jdbcType=VARCHAR},
					</if>
					<if test="item.name != null">
						name = #{item.name,jdbcType=VARCHAR},
					</if>
				</set>
				where
				库名.表名.id =#{item.id}
			</if>
		</foreach>
	</update>
set
一定要非空判断

set为空会报错

<update id="updateFlow">
		UPDATE ufis.pid
		SET
<if test="
used_flow != null">





 used_flow = used_flow + #{flow},
</if>
 change_flow_time =#{changeFlowTime}WHEREid = #{id}</update>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值