MyBatis传递参数的3种方式

第一种:Map  

Java
1. Map map=new HashMap(); 
2. map.put("start", 0);
3. map.put("total", 4); 
4. List list=session.selectList("selectByLimit",map); 
Mapper.xml:
  1.<select id="selectByLimit" parameterType="map" resultType="people">
  2.select * from people  limit #{start},#{total}
  3.</select>

  第二种:注解

基本数据类型(parameterType="xxx")(接口方法声明参数中可使用注解@param(“xx”),一个参数时可以不用加@param,多个参数是就要用@param了。)
Java
1.public List<Role> findA(@Param("roleName")String roleName,@Param("note")String note);//接口 
Mapper.xml:
1.<select id="findA" resultMap="roleMap">  
2.  SELECT  id,role_name,note FROM t_role  
3.    WHERE role_name like concat  
4.    ('%',#{roleName},'%')  
5.    and note like concat('%',#{note},'%')  
6. </select> 

第三种:实体类

Java
 1.   People people=new People();
 2.   people.setP_id(UUID.randomUUID().toString());
 3.   people.setP_name("人");
 4.   people.setP_age("88");
 5.   session.insert("insertPeople",people);
 6.   session.commit();
Mapper.xml
1.<insert id="insertPeople" parameterType="people">
2.  insert into people(p_id,p_name,p_age) values(#{p_id},#{p_name},#{p_age})
3.</insert>

总结:

map类型的参数:表达式用的是map的k值,特殊的值要用map封装,参数类型是map封装.推荐用预处理模式#{}

resultMap:标签的id属性值;表示返回结果,有具体的数据格式(实体类的格式),数据的封装结果

resultType:表示封装结果,可以表示指定的有别名的实体类对象,或者map对象

模糊查询方式一定是非预处理模式${}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值