• 单个参数查询
           在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);

mybatis参数查询的更多相关文章

  1. 8.mybatis动态SQL模糊查询 (多参数查询,使用parameterType)

    多参数查询,使用parameterType.实例: 用户User[id, name, age] 1.mysql建表并插入数据 2.Java实体类 public class User { public ...

  2. 【转载】Mybatis多参数查询映射

    转载地址:http://www.07net01.com/zhishi/402787.html 最近在做一个Mybatis的项目,由于是接触不久,虽然看了一下资料,但在实际开发中还是暴 露了很多问题,其 ...

  3. 在MyBatis中查询数据、涉及多参数的数据访问操作、插入数据时获取数据自增长的id、关联表查询操作、动态SQL、关于配置MyBatis映射没有代码提示的解决方案

    1. 单元测试 在单元测试中,每个测试方法都需要执行相同的前置代码和后置代码,则可以自定义2个方法,分别在这2个方法中执行前置代码和后置代码,并为这2个方法添加@Before和@After注解,然后, ...

  4. MyBatis参数条件查询传入的值为0时的判断

    MyBatis条件查询对字段判断是否为空一般为: <if test="testValue!=null and testValue != ''"> and test_va ...

  5. mybatis中参数为list集合时使用 mybatis in查询

    mybatis中参数为list集合时使用 mybatis in查询 一.问题描述mybatis sql查询时,若遇到多个条件匹配一个字段,sql 如: select * from user where ...

  6. coding++:mybatis 嵌套查询子查询column传多个参数描述

    mybatis 嵌套查询子查询column传多个参数如下: 2.代码示例 备注:注意,相同颜色的单词都是有关联的 <resultMap id="blogResult" typ ...

  7. MyBatis参数绑定规则及原理分析

    MyBatis参数的传递有几种不同的方法,本文通过测试用例出发,对其中的方式进行总结和说明,并对其部分源码进行分析. 一.测试用例(环境参考之前博客SSM接口编程一文 http://www.cnblo ...

  8. myBatis批量查询操作,xml中使用foreach案例

    使用场景:有一个订单表,实体类为OrderBase.java,订单有个状态为status值可能为"1,2,3,4,5,6",现在需要查询状态为"2,3,4"的订 ...

  9. MyBatis关联查询 (association) 时遇到的某些问题/mybatis映射

    先说下问题产生的背景: 最近在做一个用到MyBatis的项目,其中有个业务涉及到关联查询,我是将两个查询分开来写的,即嵌套查询,个人感觉这样更方便重用: 关联的查询使用到了动态sql,在执行查询时就出 ...

随机推荐

  1. delete 用法

    1.对象属性的删除 function fun(){ this.name = 'mm'; } var obj = new fun(); console.log(obj.name);//mm delete ...

  2. .NET SQL Server连接字符串句法

    .NET SQL Server连接字符串句法 数据库的连接性已经发展成为应用程序开发的一个标准方面.数据库连接字符串现在已经成为每个项目的标准必备条件.我发现自己为了找到所需要的句法,经常要从另外一个 ...

  3. js参数截取

    原代码: function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^& ...

  4. 一致性哈希与java实现

    一致性哈希算法是分布式系统中常用的算法.比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数 ...

  5. 点击推送消息跳转处理(iOS)

    当用户点击收到的推送消息时候,我希望打开APP,并且跳转到对应的界面,这就需要在AppDelegate里面对代理方法进行处理. 当用户点击推送消息打开APP的时候会调用 - (BOOL)applica ...

  6. iOS的触摸事件

    在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件,我们称其为@''响应者对象''UIApplication,UIViewController,UIView都 ...

  7. #能力开放平台系列-Fiddler访问Rest服务

    问题 最近开发能力开放平台,需要将Dubbo服务转换成Rest服务,虽然转换很成功(后续文档会写出如何将Dubbo服务转换成Rest接口),但是调试起来特别的麻烦. 解决方案: Fiddler解决方案 ...

  8. :before与:after伪类的应用

    1.小三角样式

  9. Office2007设置无格式粘贴

    打开Word 2007,按Alt+F11.这时会出现一个Visual Basic编辑窗口.如图所示:   上图中左上方,鼠标右击Normal→插入→模块,出现下图:     双击"模块1&q ...

  10. Oracle字符函数(转换大小写,替换等)

    在oracle中,有一些字符函数: upper(字符串):转换为大写lower(字符串):转换为小写initcap(字符串):首字母大写replace(字符串1,字符串2,字符串3):将串1中所有的串 ...