mybatis teg SQL: 1.
teg < di mana> dan Pengenalan terperinci: 1. Teg digunakan untuk menentukan sama ada pernyataan SQL tertentu disertakan berdasarkan syarat Ia serupa dengan pernyataan if dalam Java. jika tidak> teg, dsb. tunggu.
Sistem pengendalian tutorial ini: sistem Windows 10, komputer DELL G3.
MyBatis ialah rangka kerja lapisan kegigihan yang sangat baik yang menyokong SQL tersuai, prosedur tersimpan dan pemetaan lanjutan. Dalam MyBatis, SQL dinamik ialah ciri yang sangat berkuasa yang membolehkan pembangun membina pertanyaan SQL yang fleksibel berdasarkan keadaan yang berbeza. MyBatis menyediakan pelbagai teg SQL dinamik untuk menjana pernyataan SQL secara dinamik pada masa jalan. Berikut ialah teg SQL dinamik yang biasa digunakan dalam MyBatis:
1, teg
<select id="findUsers" resultType="User"> SELECT * FROM user WHERE 1=1 <if test="name != null"> AND name = #{name} </if> <if test="age != null"> AND age = #{age} </if> </select>
2,
<select id="findUsers" resultType="User"> SELECT * FROM user WHERE 1=1 <choose> <when test="name != null"> AND name = #{name} </when> <when test="age != null"> AND age = #{age} </when> <otherwise> AND is_active = 1 </otherwise> </choose> </select>
3, <select id="findUsersByIds" resultType="User">
SELECT * FROM user WHERE id IN
<foreach item="id" index="index" collection="ids" open="(" separator="," close=")">
#{id}
</foreach>
</select>
4, <update id="updateUser" parameterType="User">
UPDATE user SET
<set>
<if test="name != null">name = #{name},</if>
<if test="age != null">age = #{age},</if>
<!-- 其他属性 -->
</set>
WHERE id = #{id}
</update>
5, Atas ialah kandungan terperinci Apakah teg SQL dinamik dalam mybatis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!<bind id="userWhereClause" parameterType="map">
AND name = #{name}
AND age = #{age}
</bind>
<select id="findUserByParams" resultType="User">
SELECT * FROM user WHERE 1=1 <include refid="userWhereClause"/>
</select>