• 单个参数查询
           在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. My way on Linux - 知识梳理计划

    知识梳理计划图 近期计划把自己学习的工作中用到的Linux知识梳理下,敬请期待.

  2. javascript将毫秒还原为可读时间格式

    <script type="text/javascript"> //随便设置一个时间 var otime = new Date("2015-11-11 20: ...

  3. scala中的view bound与context bound

    1.scala中的<%意识是“view bounds”(视界) ,它比<:的使用范围更广,还能进行隐式转换,是一种语法糖. 下面的两种写法是等效的,在编译之后完全一样. object Te ...

  4. Asus 安装 windows 7

    尊敬的华硕用户您好, 您是不是要让S400从usb和光驱启动呢.可以按如下步骤操作,1.开机的时候长按F2键进入BIOS界面,通过方向键进入[Boot]菜单,通过方向键选择[Lunch CSM]选项, ...

  5. Java数据结构漫谈-Stack

    Stack(栈)是一种比较典型的数据结构,其元素满足后进先出(LIFO)的特点. Java中Stack的实现继承自Vector,所以其天然的具有了一些Vector的特点,所以栈也是线程安全的. cla ...

  6. AngularJs练习Demo2

    @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...

  7. hdu5344 MZL's xor(水题)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud MZL's xor Time Limit: 2000/1000 MS (Java/ ...

  8. Maven+SpringMVC+Mybatis 开发环境整合

    1.maven build遇到了如下问题:  [ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:rede ...

  9. android 显示特殊符号

    http://hsx9566.iteye.com/blog/1305052 在android上使用ASCII显示特殊符号 在xml中表示如下: <string name="symbol ...

  10. CSS3----background:-webkit-gradient()渐变效果

    input[type="button"], input[type="button"]:visited { background: -webkit-gradien ...