SQL url推荐加入characterEncoding=utf8,防止因编码问题无法获取数据库数据。

url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8

实体类

@Data
public class User implements Serializable {private Integer id;private String username;private Date birthday;private String sex;private String address;
}

基本类型

<select id="getUserById" parameterType="int" resultType="cn.qp.entity.User">select * from user where id = #{id}
</select>

多参数

parameterType用于单个参数类型,多参数时就不能指定parameterType。

(1)顺序法

User getUserById(Integer id);
<select id="getUserByIdAndSex" resultType="cn.qp.entity.User">select * from user where id = #{param1} and sex = #{param2}
</select>

(2)@Param法

List<User> getUserByIdAndSex(@Param("id") Integer id,@Param("sex") String sex);
<select id="getUserByIdAndSex" resultType="cn.qp.entity.User">select * from user where id = #{id} and sex = #{sex}
</select>

(3)Map法

User getUserByIdAndSex(Map<String, Object> params);
<select id="getUserByIdAndUsername" resultType="cn.qp.entity.User">select * from user where id = #{id} and username = #{username}
</select>

注意UserMapper.xml中的#{}是Map中的Key值。

(4)JavaBean法

把几个参数封装成一个实体类,resultType指定实体类全类名,使用#{属性}方法传入参数。

User getUserByIdAndSex(User user);
<select id="getUserByIdAndUsername" parameterType="cn.qp.entity.User" resultType="cn.qp.entity.User">select * from user where id = #{id} and username = #{username}
</select>

实体类型

<select id="getUser" resultType="cn.qp.entity.User">select * from user<where><if test="id != null">and id = #{id}</if><if test="username != null">and username = #{username}</if><if test="birthday != null">and birthday = #{birthday}</if><if test="sex != null">and sex = #{sex}</if><if test="address != null">and address = #{address}</if></where></select>

使用序列生成主键(只在使用oracle数据库中)

参考

Mybatis传递多个参数的4种方式_Java_茅坤宝骏氹的博客-CSDN博客
Mybatis中的数据绑定_Java_MacWx的博客-CSDN博客

MyBatis参数绑定相关推荐

  1. java元婴期(29)----java进阶(springmvc(3)---springmvc和mybatis整合参数绑定(上))

    springmvc和mybatis整合 需求 使用springmvc和mybatis完成商品列表查询. 整合思路 springmvc+mybaits的系统架构: 第一步:整合dao层 mybatis和 ...

  2. MyBatis 接口绑定方案及多参数传递、动态 SQL、ThreadLocal、缓存

    一.MyBatis 接口绑定方案及多参数传递 作用:实现创建一个接口后把mapper.xml由mybatis 生成接口的实现 类,通过调用接口对象就可以获取 mapper.xml 中编写的 sql. ...

  3. (转)SpringMVC学习(五)——SpringMVC的参数绑定

    http://blog.csdn.net/yerenyuan_pku/article/details/72511611 SpringMVC中的参数绑定还是蛮重要的,所以单独开一篇文章来讲解.本文所有案 ...

  4. SpringMVC之Controller和参数绑定

    在上一篇Spring+SpringMVC+Mybatis整合中说到了SSM的整合,并且在其中添加了一个简单的查询功能,目的只是将整个整合的流程进行一个梳理,下面在上一篇中工程的基础上再说一些关于Spr ...

  5. JAVAWEB开发之SpringMVC详解(二)——高级开发、数据回显、参数绑定集合、图片上传、json交互、validation校验、异常处理、RESTful支持、拦截器

    知识回顾 springmvc框架 用户请求url到DispatcherServlet前端控制器,相当于中央调度器,降低系统各组件之间的耦合度. DispatcherServlet前端控制器通过Hand ...

  6. java回顾:MyBatis参数、sql片段、动态sql、高级查询

    目录 一.MyBatis参数 SqlSessiong工具类 1.映射文件配置-入参 1.1 parameterType入参 1.2 单个入参,变量名任意定义: 1.3 多个入参,解决方案: 1.4 p ...

  7. springMVC第一天——入门、整合与参数绑定

    大纲摘要: 1.Springmvc介绍 2.入门程序 3.Springmvc架构讲解 a) 框架结构 b) 组件说明 4.Springmvc整合mybatis 5.参数绑定 乱码问题解决 a) Spr ...

  8. Mybatis参数问题解释

    mybatis参数问题 int insert(Girl girl); /*int返回的是被影响的数据行*/ 单个基本数据类型 ​ 如果仅仅是简单的一个单值传入,那么#{}表达式里面可以随便 写,只有一 ...

  9. 【C++】bind参数绑定 P354(通用的函数适配器)

    1. 什么时候该使用bing ?什么时候该使用lambda? 当只有少数地方调用时候使用lambda,当需要多次调用lambda时,需要定义一个函数,而不是多次编译相同的lambda表达式. 调用bi ...

最新文章

  1. Android Jetpack LiveData 源码解析
  2. 波兰极客用一张软盘运行Linux系统,用的还是最新内核!
  3. PHP 开发环境和组织管理
  4. React Native调用原生模块
  5. Spring AOP切点表达式详解
  6. 移动html特殊链接【打电话_发短信_发邮件】
  7. Linux C :系统调用-fork,wait,subreaper
  8. POJ-1845 Sumdiv 逆元,特殊情况
  9. 计算机应用领域的CIMS,计算机的应用领域
  10. Don't Laugh!I'm An English Book笔记(五)——面部词语大总结加补充
  11. Eclipse插件安装方式
  12. Windows XP下用Modem发送传真(ZZ)
  13. 计算机联锁论文开题报告,学生论文开题报告评语
  14. 磁盘分区被格式化了,格式化之前的文件恢复方法
  15. 专利检索常用的十八个网站
  16. Bill Gates和Elon Musk推荐,人工智能必读的三本书 -《终极算法》,《超级智能》和《终极发明》
  17. JavaSE_day02【类型转换、进制、运算符】
  18. Spring-JMS(一)spring整合JSM之activeMQ
  19. idea创建module没有图标显示
  20. 汇编中的test和cmp指令[Z]

热门文章

  1. matlab中在同一图形窗口中绘制出一个周期内的正弦曲线和余弦曲线,多选(3分) 在一个图形窗口同时绘制[0,2π]的正弦曲线、余弦曲线,可以使用命令( )。...
  2. 2010年全球最值得模仿的230个网站
  3. xmanager连接linux端口,怎么使用xmanager连接linux
  4. 小甲鱼C++快速入门——第四天
  5. 菜鸟学数据库——大话 char、varchar、 nchar、nvarchar之间剪不断理还乱的关系
  6. python画成绩正态分布图_正态分布为何如此重要?
  7. 数学与应用数学专业考计算机研究生,数学与应用数学专业学生考研有哪些方向 数学与应用数学专业学生考研方向是怎样的...
  8. 步步为营——局域网调试NAS软路由“PVE+爱快+lede+黑群晖硬盘直通”并移植到宽带网(超详细,上篇)
  9. 微信公众号小程序外卖返利分销系统美团饿了么外卖cps软件源码
  10. 用均线做期货可以吗(期货常用的均线是哪些)