使用when、otherwise可以实现类似if else的效果
<insert id="insertTest" parameterType="com.demo.entity.TBtest"> INSERT INTO table ( xx, xxx, xx, xx ) <choose> <when test="sort != null"> VALUES ( #{xxx,jdbcType=VARCHAR}, #{xxx,jdbcType=VARCHAR},#{xxx,jdbcType=VARCHAR},#{xxx,jdbcType=INTEGER} ) </when> <otherwise> SELECT #{xxx,jdbcType=VARCHAR}, #{xxx,jdbcType=VARCHAR},#{xx,jdbcType=VARCHAR}, ifnull(MAX(xx),1) + 1 FROM table WHERE xxx= #{xxx,jdbcType=VARCHAR} </otherwise> </choose> </insert>