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

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

  • 相关阅读:
    Generate profile vspx
    (转)Connect string 中的 Intergrated Security
    删除数据库
    SQL Server问题之The remote procedure call failed. [0x800706be]
    SQL Server 2008 R2如何开启数据库的远程连接
    ubuntu 12.04 sourcelist 更新源
    Ubuntu12.04 命令gedit出错:Could not connect to session bus (
    解决 Ubuntu 12.04 无法调节屏幕亮度的问题
    Eclipse和PyDev搭建完美Python开发环境(Windows篇)
    raw_input() 与 input() __ Python
  • 原文地址:https://www.cnblogs.com/jwentest/p/7656432.html
Copyright © 2011-2022 走看看