<update id="updateByPrimaryKeySelective" parameterType="com.example.pojo.Admin" > update admin <set > <if test="username != null" > username = #{username,jdbcType=VARCHAR}, </if> <if test="password != null" > password = #{password,jdbcType=VARCHAR}, </if> </set> where id = #{id,jdbcType=INTEGER} </update>
时间: 2024-04-03 09:31:14 浏览: 33
这是Mybatis XML配置文件中的一个Update语句,它的id为updateByPrimaryKeySelective,作用是根据传入的Admin对象更新admin表中对应记录的部分列,只更新非空属性。其中,parameterType属性为com.example.pojo.Admin,表示传入的参数为一个Admin对象。<set>标签用于在SET子句中动态生成列名和值的对应关系,<if>标签用于实现动态SQL,如果Admin对象的某个属性不为null,则会将对应的列更新为该属性的值。最后,where子句用于指定更新哪条记录,根据Admin对象的id属性进行匹配。
相关问题
<update id="updateByPrimaryKeySelective" parameterType="com.example.pojo.Admin" > update admin <set > <if test="username != null" > username = #{username,jdbcType=VARCHAR}, </if> <if test="password != null" > password = #{password,jdbcType=VARCHAR}, </if> </set> where id = #{id,jdbcType=INTEGER} </update> <update id="updateByPrimaryKey" parameterType="com.example.pojo.Admin" > update admin set username = #{username,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} </update>
这是Mybatis XML配置文件中的两个Update语句。第一个Update语句的id为updateByPrimaryKeySelective,作用是根据传入的Admin对象更新admin表中对应记录的部分列,只更新非空属性。第二个Update语句的id为updateByPrimaryKey,作用是根据传入的Admin对象更新admin表中对应记录的所有列。两个语句的parameterType属性都为com.example.pojo.Admin,表示传入的参数为一个Admin对象。其中,<if>标签用于实现动态SQL,如果Admin对象的某个属性不为null,则会将对应的列更新为该属性的值。而<set>标签则用于在SET子句中动态生成列名和值的对应关系。最后,where子句用于指定更新哪条记录,根据Admin对象的id属性进行匹配。
<insert id="insertSelective" parameterType="com.example.pojo.Admin" > insert into admin <trim prefix="(" suffix=")" suffixOverrides="," > <if test="id != null" > id, </if> <if test="username != null" > username, </if> <if test="password != null" > password, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides="," > <if test="id != null" > #{id,jdbcType=INTEGER}, </if> <if test="username != null" > #{username,jdbcType=VARCHAR}, </if> <if test="password != null" > #{password,jdbcType=VARCHAR}, </if> </trim> </insert>
这也是一个Mybatis XML配置文件中的Insert语句,它的作用与上面的Insert语句类似,也是向数据库的admin表中插入一条新的记录。不同的是,这里使用了<trim>和<if>标签来实现动态SQL的拼接,可以根据传入的参数动态决定插入哪些列。如果传入的Admin对象的某个属性为null,则不会插入对应的列。如果属性不为null,则会插入对应的列。参数类型为com.example.pojo.Admin,表示传入的参数为一个Admin对象。
阅读全文