• mybatis注解动态sql


    @Insert("INSERT INTO user (name, age, gender, experience) VALUES (<a href="http://www.oschina.net/tweet-topic/%7Bname%7D%2C" target="_blank">#{name},#</a>{age}, <a href="http://www.oschina.net/tweet-topic/%7Bgender%7D%2C" target="_blank">#{gender},#</a>{experience})")
        @Options(useGeneratedKeys = true, keyProperty = "id")
        int createUser(User user);
         
        @Insert("INSERT INTO user_interest (user_id, interest_id) VALUES (<a href="http://www.oschina.net/tweet-topic/%7BuserId%7D%2C" target="_blank">#{userId},#</a>{interestId})")
        int createUserInterest(@Param("userId") int userId, @Param("interestId") int interestId);
         
        @Delete("DELETE FROM user WHERE id = #{id}")
        int deleteUser(int id);
         
        @Delete("DELETE FROM user_interest WHERE user_id = #{userId}")
        int deleteUserInterest(int userId);
         
        // findUsers(String, int) 的执行策略定义在 UserMapper.xml 中
        List<User> findUsers(@Param("name") String name, @Param("experience") int experience);
         
        @Select("SELECT interest_id FROM user_interest WHERE user_id = #{userId} ORDER BY id")
        List<Integer> findUserInterests(int userId);
     
        // queryInterest(int, int) 的执行策略定义在 UserMapper.xml 中
        List<User> queryInterest(@Param("gender") int gender, @Param("experience") int experience);

      
    这样定制性更大,实现起来也方便,记住这样做的话注解中的sql语句必须全都在<script>标签中
      @Select("<script>select * from user where <if test="username !=null ">username = #{username} </if> <if test="phone !=null ">phone = #{phone} </if> <if test="usermail !=null ">usermail = #{usermail } </if></script>")
  • 相关阅读:
    自定义标签的作用
    自定义标签处理器类的生命周期
    自定义标签的执行过程
    自定义标签入门案例
    JSTL核心标签库详解
    JSTL标签(核心标准库)
    动作标签
    jsp标签
    EL表达式
    JSP学习案例--,竞猜游戏
  • 原文地址:https://www.cnblogs.com/ShanHeDiao/p/5110362.html
Copyright © 2020-2023  润新知