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>")

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM