• mybatis参数查询


    • 单个参数查询
               在mapper.xml配置文件中配置       
               <select id= "selectByNu" parameterType ="java.lang.String"
               resultMap="BaseResultMap" >
              select
               <include refid= "Base_Column_List" />
              from consume_number
              where consume = #{consume,jdbcType=VARCHAR}
         </select >
          在接口方法中
                   ConsumeNumber selectByNu(String consume);




    • 直接传递多参数 查询
     在mapper.xml配置文件中配置  ,其中传递参数在mybatis的配置文件中可以直接使用角标来获取
         <select id= "selectByUserNameAndPwd" resultMap="BaseResultMap" >
              select
              
     <include refid= "Base_Column_List" />
              from member_manager
              WHERE
              
     username = #{0}
              AND
              password = #{1}
         
    </select>
    在dao中代码
    MemberManager selectByUserNameAndPwd(String username ,String password); 
    如果想要在在mybatis中#{}中不使用角标获取也可以是在传递的时候在参数上加上注解这样的话就可以在mapper.xml中直接添加使用名字
    在xml配置文件中
    1. <select id="selectTeacher"  resultType="com.myapp.domain.Teacher">  
    2.     select * from Teacher where c_id=#{id} and sex=#{sex}  
    3. </select>  
    在接口方法中
    public List<Teacher> selectTeacher(@Param(value="id") String id,@Param(value="sex") String sex);

    •  使用query对象封装查询
             在mapper.xml配置文件中配置
               <!-- 自定义sql -->
         <select id="selectByQuery" parameterType="com.laiwifi.query.FollowerQuery"
               resultMap="BaseResultMap" >
              select
               <include refid= "Base_Column_List" />
              from pgy_follower
              where 1=1
               <if test= "openid != null and openid != '' " >
                  and openid = #{openid ,jdbcType=VARCHAR}
               </if>
               <if test= "next != null and next != '' " >
                  and next = #{next,jdbcType=VARCHAR}
               </if>
               <if test= "pre != null and pre != '' " >
                  and pre = #{pre ,jdbcType=VARCHAR}
               </if>
         </select >
          在接口方法中
              PgyFollower selectByQuery(FollowerQuery query);
              封装的对象
              public class FollowerQuery {
         private String openid;
         private String next;
         private String pre;
         public String getOpenid() {
               return openid ;
         }
     
         public void setOpenid(String openid ) {
               this.openid = openid ;
         }
     
         public String getNext() {
               return next ;
         }
     
         public void setNext(String next ) {
               this.next = next ;
         }
     
         public String getPre() {
               return pre ;
         }
     
         public void setPre(String pre ) {
               this.pre = pre ;
         }
    }

    • Map封装多参数
         在mapper.xml中
    <select id="getXXXBeanList" parameterType="hashmap" resultType="XXBean">
    select 字段... from XXX where id=#{xxId} code = #{xxCode} 
    </select>
    其中hashmap是mybaits默认存在的,可直接使用。map中key的名字是在#{}中使用的
    在接口方法中
              public list<XXBean> getXXXBeanList(HashMap map);

    • list封装参数
         在mapper.xml中配置     
    <select id="getXXXBeanList" resultType="XXBean">
    select 字段... from XXX where id in
    <foreach item="item" index="index" collection="list"
    open="(" separator="," close=")"> 
    #{item} 
    </foreach> 
    </select>
    foreach 最后的效果是select 字段... from XXX where id in ('1','2','3','4')
      在接口方法中
    public List<XXBean> getXXBeanList(list(String) list);
  • 相关阅读:
    黑客防线
    基于onvif的码流转换专利
    8168开发之---1g内存换成512M的内存映射配置
    图像处理之基础---内积、点积
    3s 简介
    嵌入式开发之工具---比开发手册更重要的一个命令 man page
    图像处理之基础---频域分析
    lbp纹理特征
    28.Docker介绍与目录
    09.客户端集成IdentityServer
  • 原文地址:https://www.cnblogs.com/dashuai01/p/4282316.html
Copyright © 2020-2023  润新知