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