mybatis详解(三)

一,动态sql,where,trim,set和foreach

parameterType的属性可以不用写

xml文件sql的书写

<select id="queryByParams"  parameterType="string" resultMap="usermap" resultType="user">
        select id,
        <choose>
            <when test="realname!=null and realname!='' ">
                username
            </when>
            <otherwise>
                password
            </otherwise>
        </choose>
        from user
    </select>

    <delete id="deleteUser" parameterType="int" >
        delete from user where id=#{id}
    </delete>

    <insert id="insertUser" parameterType="user" >
        insert into user (username,realname,password) values (#{user_name},#{realname},#{password})
    </insert>

    <select id="selectByNameAndPassword" resultType="user" resultMap="usermap">
        select * from user
        <where>
            <if test="username!=null and username!=''">
                username=#{username}
            </if>
            <if test="password!=null and password!=''">
                and password=#{password}
            </if>
        </where>
    </select>

    <select id="selectByNameAndPassword02"  resultMap="usermap">
        select * from user
      <trim prefix="where" prefixOverrides="and | or">
          <if test="username!=null and username!=''">
              username=#{username}
          </if>
          <if test="password!=null and password!='' ">
            and  password=#{password}
          </if>
      </trim>
    </select>
    <select id="selectByNameAndPassword03" resultMap="usermap">
        select * from user
        <trim prefix="where" suffixOverrides="and | or">
            <if test="@Ognl@isNotEmpty('username')">
                username=#{username}
            </if>
            <if test="@Ognl@isNotEmpty('password')">
             and   password=#{password}
            </if>
        </trim>
    </select>

    <update id="updateUser" >
        update user
        <set>
            <if test="username!=null and username!=''">
                username=#{username} ,
            </if>
            <if test="password!=null and password!=''">
                password=#{password} ,
            </if>
        </set>

        where id=#{id}
    </update>

    <update id="updateUser02" >
        update user
        <trim prefix="set" suffixOverrides=",">
            <if test="username!=null and username!=''">
                username=#{username} ,
            </if>
            <if test="password!=null and password!=''">
                password=#{password} ,
            </if>
        </trim>

        where id=#{id}
    </update>

接口代码的书写

  public List<User> selectByNameAndPassword(@Param("username") String username,@Param("password") String password);
    public List<User> selectByNameAndPassword02(@Param("username") String username,@Param("password") String password);
    public List<User> selectByNameAndPassword03(@Param("usern
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值