Spring Boot教程(三十八)使用MyBatis注解配置详解(1)
2024-10-06 21:03:12
之前在Spring Boot中整合MyBatis时,采用了注解的配置方式,相信很多人还是比较喜欢这种优雅的方式的,也收到不少读者朋友的反馈和问题,主要集中于针对各种场景下注解如何使用,下面就对几种常见的情况举例说明用法。
传参方式
下面通过几种不同传参方式来实现前文中实现的插入操作。
使用@Param
在之前的整合示例中我们已经使用了这种最简单的传参方式,如下:
@Insert("INSERT INTO USER(NAME, AGE) VALUES(#{name}, #{age})")
int insert(@Param("name") String name, @Param("age") Integer age);
这种方式很好理解,@Param
中定义的name
对应了SQL中的#{name}
,age
对应了SQL中的#{age}
。
使用Map
如下代码,通过Map对象来作为传递参数的容器:
@Insert("INSERT INTO USER(NAME, AGE) VALUES(#{name,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER})")
int insertByMap(Map<String, Object> map);
对于Insert语句中需要的参数,我们只需要在map中填入同名的内容即可,具体如下面代码所示:
Map<String, Object> map = new HashMap<>();
map.put("name", "CCC");
map.put("age", 40);
userMapper.insertByMap(map);
使用对象
除了Map对象,我们也可直接使用普通的Java对象来作为查询条件的传参,比如我们可以直接使用User对象:
@Insert("INSERT INTO USER(NAME, AGE) VALUES(#{name}, #{age})")
int insertByUser(User user);
这样语句中的#{name}
、#{age}
就分别对应了User对象中的name
和age
属性。
源码来源
最新文章
- [转载]C#读写txt文件的两种方法介绍
- Socket通讯
- [SharePoint] SharePoint 错误集 1
- 【JAVA与XML、dtd约束、Schema约束】
- soap request by afnetworking2.X/3.X
- Introducing shard translator
- BZOJ1029: [JSOI2007]建筑抢修(贪心)
- Android学习笔记⑦——UI组件的学习AdapterView相关1
- c# 判断点是否在区域内 点在区域内 在多边形内 判断
- Windows8.1下PHP环境配置(PHP5.6、Apache2.4、MySql5.6)
- uC/OS 的任务调度解析 (转)
- javascript中数组循环的方式
- Linux C 编程内存泄露检測工具(二):memwatch
- HTML——CSS的基础语法2
- Django—中间件
- Asp.Net MVC 利用ReflectedActionDescriptor判断Action返回类型
- 高斯消元 o(n^3) 取摸和不取摸
- js高级-作用域链
- UVA-10269 Adventure of Super Mario (dijkstra)
- requestAnimationFrame 定时器