mybatis如何编写动态sql

在使用mybatis的开发过程中,我们常常苦恼如何使用动态SQL来解决多参数问题,下面几条SQL可以参考.
TestEntity类有三个属性id 、name、age,数据库mysql。
下面是增删改查的示例:
按照id、name、age 查询返回集合示例

<select id="queryTests" parameterType="amywebcode.com.it.model.TestEntity"
		resultType="amywebcode.com.it.model.TestEntity">

		select id,name,age from Test
		 
		 where 1=1
			<if test="id!='' and id!=null"> and id=#{id} </if>
			<if test="name!='' and name!=null">and name=#{name} </if>
			<if test="age!='' and age!=null">and age=#{age} </if>
		 


	</select>

根据id查询单条数据示例

<select id="queryTest" parameterType="amywebcode.com.it.model.TestEntity"
		resultType="amywebcode.com.it.model.TestEntity">
		select id,name,age from Test
		where id = #{id}
		 

	</select>

新增sql示例:


	<insert id="addTestEntity" parameterType="amywebcode.com.it.model.TestEntity">
		insert into Test(id,name,age)
		value(
		#{id,jdbcType=VARCHAR},
		#{name,jdbcType=VARCHAR},
		#{age,jdbcType=INTEGER}
		)

	</insert>

删除示例

	<delete id="delTestEntity" parameterType="amywebcode.com.it.model.TestEntity">
		delete from Test
	    where 1=1 
			<if test="id!='' and id!=null">and id=#{id} </if>
			<if test="name!='' and name!=null">and name=#{name} </if>
			<if test="age!='' and age!=null">and age=#{age} </if>
	</delete>
	 

按照id更新示例

<update id="updataTestEntity" parameterType="amywebcode.com.it.model.TestEntity">

		update Test
		<trim prefix="set" suffixOverrides=",">
			<if test="name!='' and name!=null">name=#{name} </if>
			<if test="age!='' and age!=null">age=#{age} </if>
		</trim>
		where Id = #{Id}
	</update>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值