mybatis入参处理的几种方法总结

硅谷探秘者 3102 0 0


mybatis使用接口的时候注意方法不能重载


1.单个参数

public Users selectUser(int id);
<select id="selectUser" resultType="com.dzqc.model.common.entity.Users">
	  	select * from users where id=#{id}
  </select>

2.多个参数,使用索引的方式,注意索引从0开始

public Users selectUser2(int id,String name);
<select id="selectUser2" resultType="com.dzqc.model.common.entity.Users">
	  	select * from users where id=#{0} and username = #{1}
  </select>

3.多个参数使用注解的方式,参数对应@Param("id")注解里面的名称

public Users selectUser6(@Param("id")int id,@Param("name")String name);
<select id="selectUser6" resultType="com.dzqc.model.common.entity.Users">
  		select * from users where id=#{id} and username = #{name}
  </select>

4.pojo方式,参数对应实体类的属性名

public Users selectUser3(Users user);
<select id="selectUser3" parameterType="com.dzqc.model.common.entity.Users" 
  			resultType="com.dzqc.model.common.entity.Users">
  		select * from users where id=#{id} and username = #{username}
  </select>

5.传入Map方式,参数与Map中的key对应

public Users selectUser4(Map<String,Object> map);
<select id="selectUser4" parameterType="map" 
  			resultType="com.dzqc.model.common.entity.Users">
  		select * from users where id=#{id} and username = #{username}
  </select>

6.传入List集合的方式

public List<Users> selectUser5(List<Object> list);
 <select id="selectUser5" resultType="com.dzqc.model.common.entity.Users">
      select * from users where id in
    <foreach item="items" index="index" collection="list" open="(" close=")" separator=",">#{items}</foreach>
  </select>



评论区
请写下您的评论...
暂无评论...
猜你喜欢
java基础 5320 (Runnabletarget,Stringname)。:start:启动线程。yield:注意这是一个静态。使当前运行线程释放器资源。sleep:这也是一个静态,即使当前运行线程休眠millis毫秒join:
java基础 3301 HashSet、HashMap以及HashTable。2.改写equals时是要改写hashCode下面这段话摘自EffectiveJava一书:1.在程序执行期间,只要equals比较操作用到信息没有
java基础 2569 java常用反射以及用packagereflect;importjava.lang.annotation.ElementType
数据结构与算法 1447 java使用欧里得算计算比例 publicstaticvoidmain(String[]args){ System.out.println(bili(2,6
official 902 调度基本概念当有一堆任务要,但由于资源有限,这些事情没同时。这就需要确定某规则来决定这些任务顺序,这就是“调度”研究问题。在多道程序系统中,进程数量往往是多于个数
weblog 3811 时不会改变实引用对象内存地址。值类型引用数这情况下形和实引用时同一个内存地址,在内改变形值就是改变实值。案例如下:namespaceConsoleApplication3{c
java基础 4385 java启动线程式1.继承Thread类,重写run,调用start启动线程2.实现Runnable接口,重写run,调用start启动线程3.实现Callable接口代码如
框架 1730 一般分页查询接口都需要传page(当前第页),limit(限制行数)两个数。如果框架本身没有做话我们需要自己在控制层写数去接收和这俩数。如何配置基础框架,让其自动接收和这些
归档
2018-11  12 2018-12  33 2019-01  28 2019-02  28 2019-03  32 2019-04  27 2019-05  33 2019-06  6 2019-07  12 2019-08  12 2019-09  21 2019-10  8 2019-11  15 2019-12  25 2020-01  9 2020-02  5 2020-03  16 2020-04  4 2020-06  1 2020-07  7 2020-08  13 2020-09  9 2020-10  5 2020-12  3 2021-01  1 2021-02  5 2021-03  7 2021-04  4 2021-05  4 2021-06  1 2021-07  7 2021-08  2 2021-09  8 2021-10  9 2021-11  16 2021-12  14 2022-01  7 2022-05  1 2022-08  3 2022-09  2 2022-10  2 2022-12  5 2023-01  3 2023-02  1 2023-03  4 2023-04  2 2023-06  3 2023-07  4 2023-08  1 2023-10  1 2024-02  1 2024-03  1 2024-04  1
标签
算法基础 linux 前端 c++ 数据结构 框架 数据库 计算机基础 储备知识 java基础 ASM 其他 深入理解java虚拟机 nginx git 消息中间件 搜索 maven redis docker dubbo vue 导入导出 软件使用 idea插件 协议 无聊的知识 jenkins springboot mqtt协议 keepalived minio mysql ensp 网络基础 xxl-job rabbitmq haproxy srs 音视频 webrtc javascript
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。