zoukankan      html  css  js  c++  java
  • mybatis 使用tips

    执行如下命令:

    mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate

    可以使用mybatis generator

    mybatis 使用多个参数

    自定义方法需要根据多个查询条件去查询:

    SELECT * FROM `db_demo`.`hot_topic` WHERE lang='english' AND category='017' AND  topic_type='video' ORDER BY score DESC;

    推荐使用注解的方式:

    需要自定义方法:

    mapper文件中

      //  使用注解
    JSONArray selectByLangAndCategoryAndTopicType(@Param("lang") String lang, @Param("category") String category, @Param("topicType") String topicType);

    mapper.xml文件中:

    <select id="selectByLangAndCategoryAndTopicType" resultMap="ResultMapWithBLOBs" >
        <!--
          WARNING - @mbggenerated
          This element is automatically generated by MyBatis Generator, do not modify.
          This element was generated on Thu Oct 12 14:51:34 CST 2017.
        -->
        select
        <include refid="Base_Column_List" />
        ,
        <include refid="Blob_Column_List" />
        from hot_topic
        where lang= #{lang,jdbcType=VARCHAR} AND category = #{category,jdbcType=VARCHAR} AND topic_type=#{topicType,jdbcType=VARCHAR}
      </select>

    其他方法

    DAO层的函数方法 

    Public User selectUser(String name,String area);

    对应的Mapper.xml  

    <select id="selectUser" resultMap="BaseResultMap">
        select  *  from user_user_t   where user_name = #{0} and user_area=#{1}
    </select>

    其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参数一致往后加即可。


    其他方法

    此方法采用Map传多参数.

    Dao层的函数方法

    Public User selectUser(Map paramMap);

    对应的Mapper.xml

    <select id=" selectUser" resultMap="BaseResultMap">
       select  *  from user_user_t   where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
    </select>

    Service层调用

    Private User xxxSelectUser(){
    Map paramMap=new hashMap();
    paramMap.put(“userName”,”对应具体的参数值”);
    paramMap.put(“userArea”,”对应具体的参数值”);
    User user=xxx. selectUser(paramMap);}

    此方法不够直观,见到接口方法不能直接的知道要传的参数是什么。

  • 相关阅读:
    CocoStudio基础教程(4)骨骼动画的动态换肤
    CocoStudio基础教程(3)在程序中处理cocoStudio导出动画
    CocoStudio基础教程(2)关联程序逻辑与cocoStudio导出文件
    CocoStudio基础教程(1)创建UI并载入到程序中
    LeetCode:盛最多水的容器【11】
    LeetCode:反转字符串中的元音字母【345】
    LeetCode:验证回文串【125】
    LeetCode:颜色分类【75】
    LeetCode:删除排序数组中的重复项||【80】
    LeetCode:移动零【283】
  • 原文地址:https://www.cnblogs.com/jwentest/p/7656432.html
Copyright © 2011-2022 走看看