mybatis中mapper接口的参数设置几种方法
方法一:忽略parameterType,加@param("xxx")注解
在mapper接口中加上@param("xxx")注解,则在配置文件中直接用即可
List<Map<String, Object>> getDataByTime(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("platformId") Long platformId);
<select id="getDataByTime" resultType="java.util.Map">
SELECT
t.seller_id as sellerId,
sum(t.payment_price) as total,
FROM
trade_orders t
WHERE
AND
t.platform_id = #{platformId}
<if test="startTime != null and startTime != ''">
AND
<![CDATA[t.order_time >= #{startTime}]]>
</if>
<if test="endTime != null and endTime != ''">
AND
<![CDATA[t.order_time <= #{endTime}]]>
</if>
GROUP BY
t.seller_id
</select>
方法二:忽略parameterType,不加@param("xxx")注解
用#{index},是第几个就用第几个的索引,索引从0开始
List<Map<String, Object>> getDataByTime(String startTime, String endTime, Long platformId);
<select id="getDataByTime" resultType="java.util.Map">
SELECT
t.seller_id as sellerId,
sum(t.payment_price) as total,
FROM
trade_orders t
WHERE
AND
t.platform_id = #{3}
<if test="startTime != null and startTime != ''">
AND
<![CDATA[t.order_time >= #{0}]]>
</if>
<if test="endTime != null and endTime != ''">
AND
<![CDATA[t.order_time <= #{1}]]>
</if>
GROUP BY
t.seller_id
</select>
方法三:使用Map封装参数,parameterType=“hashmap”
封装好后,直接在配置文件引用#{key}即可
List<Map<String, Object>> getDataByTime(HashMap map);
<select id="getDataByTime" parameterType="hashmap" resultType="java.util.Map">
SELECT
t.seller_id as sellerId,
sum(t.payment_price) as total,
FROM
trade_orders t
WHERE
AND
t.platform_id = #{platformId}
<if test="startTime != null and startTime != ''">
AND
<![CDATA[t.order_time >= #{startTime}]]>
</if>
<if test="endTime != null and endTime != ''">
AND
<![CDATA[t.order_time <= #{endTime}]]>
</if>
GROUP BY
t.seller_id
</select>
方法四:使用List封装参数
mapper配置文件使用foreach标签循环list
List<Map<String, Object>> getDataByTime(List<String> list);
<select id="getXXXBeanList" resultType="java.util.Map">
select XX from trade_orders where id in
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</select>
mybatis中mapper接口的参数设置几种方法的更多相关文章
- MyBatis 中 Mapper 接口的使用原理
MyBatis 中 Mapper 接口的使用原理 MyBatis 3 推荐使用 Mapper 接口的方式来执行 xml 配置中的 SQL,用起来很方便,也很灵活.在方便之余,想了解一下这是如何实现的, ...
- 【Mybatis】Mapper接口的参数处理过程
下面是一个简单的Mapper接口调用,首先同个session的getMapper方法获取Mapper的代理对象,然后通过代理对象去调用Mapper接口的方法 EmployeeMapper mapper ...
- MyBatis 中传递多个参数的 4 种方式
方式 1 :封装成对象入参 #{对应实体类的属性} //UserMapper.java 接口 /** * 多条件查询:根据用户名称(模糊查询)和用户角色查询用户列表(参数:对象入参) * @para ...
- 逆向工程生成的mybatis中mapper文件。mapper接口,实例化成对象
逆向工程生成的mybatis中mapper文件中,*mapper文件只是接口,而不是类文件.但是却可以通过spring的容器获得实例. 例如: //1.获得mapper代理对象,从spring容器获得 ...
- Mybatis的Mapper接口方法不能重载
今天给项目的数据字典查询添加通用方法,发现里边已经有了一个查询所有数据字典的方法 List<Dict> selectDictList(); 但我想设置的方法是根据数据字典的code查询出所 ...
- Direcshow中视频捕捉和参数设置报告
Direcshow中视频捕捉和参数设置报告 1. 关于视频捕捉(About Video Capture in Dshow) 1视频捕捉Graph的构建 一个能够捕捉音频或者视频的graph图 ...
- mybatis从mapper接口跳转到相应的xml文件的eclipse插件
mybatis从mapper接口跳转到相应的xml文件的eclipse插件 前提条件 开发软件 eclipse 使用框架 mybatis 为了方便阅读源码,项目使用mybatis的时候,方便从mapp ...
- 5.7 Liquibase:与具体数据库独立的追踪、管理和应用数据库Scheme变化的工具。-mybatis-generator将数据库表反向生成对应的实体类及基于mybatis的mapper接口和xml映射文件(类似代码生成器)
一. liquibase 使用说明 功能概述:通过xml文件规范化维护数据库表结构及初始化数据. 1.配置不同环境下的数据库信息 (1)创建不同环境的数据库. (2)在resource/liquiba ...
- IntelliJ IDEA中Mapper接口通过@Autowired注入报错的正确解决方式
转载请注明来源:四个空格 » IntelliJ IDEA中Mapper接口通过@Autowired注入报错的正确解决方式: 环境 ideaIU-2018.3.4.win: 错误提示: Could no ...
随机推荐
- Java博客目录
JavaWeb 1.Tomcat使用 2.Servlet入门 3.JSP&EL&JSTL 4.Listener&Filter Java框架 Hibernate 1.简介及初使用 ...
- windows下安装配置postgreSQL
1.下载 postgresql-10.4-1-windows-x64.exe 进行安装 2.环境配置(1)文本使用的IDE是VS2010,我们需要配置包含目录(include).库目录(lib).链接 ...
- Java中几个常用类
1.1 包装类 把八大基本数据类型封装到一个类中,并提供属性和方法,更方便的操作基本数据类型. 包装类的出现并不是用于取代基本数据类型,也取代不了. 包装类位于java.lang包中 Number 类 ...
- win 下 python ImportError: No module named requests
第一次弄爬虫,报库找不到,网上找了半天,一般都让都让改成绝对路径...那不是饮鸩止渴嘛. 然后 在无意中发现,不需要控制台输入pip命令,因为不是在Linux下啊,,win下直接在pycharm里添加 ...
- PHPexcel(2)
//导出 public function export(){ $xlsData = Db('ent_apply')->select(); Vendor('PHPExcel.PHPExcel'); ...
- CentOS 7 Gitlab+Jenkins持续集成+自动化部署
基于上次的环境<部署Gitlab+Jenkins持续集成环境> 来实现自动化部署 系统管理–>插件管理–>安装以下插件: Credentials Plugin(默认已经安装) ...
- rpgmakermv \c 常用颜色一览
1 2 3 4 5 6 7 14 18
- Excel坐标自动在AutoCad绘图_5
众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...
- IO流(一)
一.异常 概述 异常就是Java程序在运行过程中出现的错误. 由来 问题也是现实生活中一个具体事务,也可以通过java的类的形式进行描述,并封装成对象.其实就是Java对不正常情况进行描述后的对象体现 ...
- LP-KPN
LP-KPN 网络结构 网络解析 1. 网络结构中绿色星星标志 公式.其实就是用预测出来的核在原图片经过Laplacian pyramid decomposes 后的图片上进行卷积运算.所以应该使用p ...