• 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);}

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

  • 相关阅读:
    爬虫学习笔记(二)http请求详解
    学习自动化的正确姿势
    binascii模块
    python一些内置函数及方法
    C小点,随便记记
    C:<conio.h>
    C,动态数组
    php intval()函数漏洞,is_numeric() 漏洞,绕过回文判断
    Mp3stego使用,附题,实验吧misc-Canon
    原生js实现Ajax
  • 原文地址:https://www.cnblogs.com/jwentest/p/7656432.html
Copyright © 2020-2023  润新知