1 使用map

<select id="selectRole" parameterType="map" resultType="RoleMap">
SELECT id, roleName, note
FROM role
WHERE roleName LIKE Concat('%',#{roleName},'%')
and note like Concat('%',#{note},'%')
</select>

在接口中如下定义

List<Role> selectRole(Map map);

说明:这种方法简单易用,弊端是业务关联性不强,查看参数需要查看代码,可读性下降。

2 使用注解传递参数

xml文件中定义sql语句如下

<select id="findRoleByAnnotation" resultType="roleMap">
SELECT id, roleName, note
FROM role
WHERE roleName LIKE Concat('%',#{roleName},'%')
and note like Concat('%',#{note},'%')
</select>

接口如下

List<Role> findRoleByAnnotation(@Param("roleName") String rolename, @Param("note") String note);

说明:通过@Param 提供的名称mybatis就知道 #{roleName} 代表 rolename 。参数可读性大大提高了。适用于参数数量较少的情况。如果参数数量过多,推荐使用javabean方式。

3 在参数过多的情况下,使用 javabean 传递参数

参数类RoleParam

public class RoleParam {
private String roleName;
private String note; public String getRoleName() {
return roleName;
} public void setRoleName(String roleName) {
this.roleName = roleName;
} public String getNote() {
return note;
} public void setNote(String note) {
this.note = note;
}
}

xml文件查询sql

<select id="findByJavaBean" resultType="roleMap" parameterType="com.huitong.service.command.RoleParam">
SELECT id, roleName, note
FROM role
WHERE roleName LIKE Concat('%',#{roleName},'%')
and note like Concat('%',#{note},'%')
</select>

接口文件中

List<Role> findByJavaBean(RoleParam roleparam);

说明:当参数个数多于5个时,推荐使用javabean方式。

最新文章

  1. python 调用dll中c或c++语言的带指针方法,
  2. HTML中超出文本使用省略号替代的CSS样式
  3. 「 JavaScript 篇 」
  4. IntelliJ IDEA,代码行宽度超出限制时自动换行
  5. CSS3定位和浮动详解
  6. http statusCode(状态码)
  7. 系统调用方式文件编程,王明学learn
  8. JavaScript Function(函数表达式)
  9. &lt;button&gt;会自动提交表单吗?
  10. linq里的select和selectmany操作
  11. firebug的使用方法和技巧(web开发调试工具)
  12. Java基础知识强化之IO流笔记52:IO流练习之 把一个文件中的字符串排序后再写入另一个文件案例
  13. 给大家介绍款在线压缩JS的工具
  14. BZOJ 2298 problem a(区间DP)
  15. java 导出excel(读数据库案例)
  16. 设计模式(8)--Decorator--装饰器模式--结构型
  17. Html中&lt;Hr&gt;标签、样式的使用和自定义设置
  18. 自动化服务部署(一):Linux下安装JDK
  19. Java【第五篇】基本语法之--数组
  20. Linux编程 2 (遍历目录cd与查看文件和目录ls)

热门文章

  1. SublimeText 3 常见快捷键
  2. S2-045、S2-046
  3. FlowPortal BPM多汇报线的设置及使用
  4. Java程序猿跳槽应该学哪些方面的技术
  5. CentOS7安装CDH 第五章:CDH的安装和部署-CDH5.7.0
  6. Computer Vision_18_Image Stitching: Image Alignment and Stitching——2006
  7. Linux下 expect 使用详解与实例
  8. AtCoder Beginner Contest 133 F Colorful Tree
  9. hive中使用spark执行引擎的常用参数
  10. Controllers返回View的一个完整流程