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

时间: 02-07

mybatis参数查询的相关文章

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

多参数查询,使用parameterType.实例: 用户User[id, name, age] 1.mysql建表并插入数据 2.Java实体类 public class User { public User() { } public User(int id, String name, int age) { super(); this.id = id; this.name = name; this.age = age; } private int id; private String name;

在Mybatis中使用注解@多个参数查询

@Select("SELECT * FROM wc_homework WHERE organization_id=#{classId} ORDER BY createtime DESC LIMIT #{start},#{count}") @Results({ @Result(column = "course_id", property = "course_id"), @Result(column = "homework_id"

mybatis 嵌套查询子查询column传多个参数描述

mybatis 嵌套查询子查询column传多个参数如下: 1.图解 2.代码示例 备注:注意,相同颜色的单词都是有关联的. <resultMap id="blogResult" type="Blog"> <association property="author" column="{id=author_id,likename=author_name}" javaType="Author"

好947 Mybatis 配置resultMap 带参数查询Map 注意selectOne数据库返回结果一条数据库 否则会报错

//TMD 写几个demo 还有大站采集 <a target=_blank href="http://hao947.com/" target="_blank">好947</a> 映射配置文件 <!-- type:映射实体类的数据类型 id:resultMap的唯一标识 --> <RESULTMAP id=BaseResultMap type="person"><pre name="c

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

转载地址:http://www.07net01.com/zhishi/402787.html 最近在做一个Mybatis的项目,由于是接触不久,虽然看了一下资料,但在实际开发中还是暴 露了很多问题,其中最让我头疼的就是selete的parameterType问题,网上这类的帖子虽然有 但是不全,很多情况下很难找到你想要的答案. 为此我对这个问题进行了总结,希望对像我这样的新手有一定的帮助. (一)单个参数 public List<XXBean> getXXBeanList(String xxC

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

mybatis 嵌套查询子查询column传多个参数如下: 2.代码示例 备注:注意,相同颜色的单词都是有关联的 <resultMap id="blogResult" type="Blog"> <association property="author" column="{id=author_id,likename=author_name}" javaType="Author" selec

(转载)深入了解MyBatis参数

原文地址:http://blog.csdn.net/isea533/article/details/44002219 深入了解MyBatis参数 相信很多人可能都遇到过下面这些异常: "Parameter 'xxx' not found. Available parameters are [...]" "Could not get property 'xxx' from xxxClass. Cause: "The expression 'xxx' evaluated

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

先说下问题产生的背景: 最近在做一个用到MyBatis的项目,其中有个业务涉及到关联查询,我是将两个查询分开来写的,即嵌套查询,个人感觉这样更方便重用: 关联的查询使用到了动态sql,在执行查询时就出现了如下错误:Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'id' in 'class java.lang.Integer' 因为出现了这个问题,

MyBatis模糊查询like

MyBatis模糊查询like的两种使用方法 初次使用MyBatis持久层框架,进行模糊查询如like时,如果传入的map类型的参数,可以使用${}, 如果传入的不是map类型的参数, 不知道如何处理.经过研究想到了两种方法(我使用的是MySQL数据库), 如where name like concat(concat(‘%’#{name}),’%’)或者where name like “%”#{name}“%“注意:后一种方法”%”是双引号,而不是单引号 where bo.name like c