mybatis之接口方法多参数的三种实现方式
2024-08-26 22:26:03
关键代码举例:
DaoMapper.xml
<!-- 传入多个参数时,自动转换为map形式 -->
<insert id="insertByColumns" useGeneratedKeys="true" keyProperty="id">
insert into user (id, name, age) values (NULL ,#{param1}, #{param2})
</insert>
<insert id="insertByZhuJie" useGeneratedKeys="true" keyProperty="id">
insert into user (id, name, age) values (NULL ,#{name}, #{age})
</insert>
<insert id="insertByMap" useGeneratedKeys="true" keyProperty="id">
insert into user (id, name, age) values (NULL ,#{name}, #{age})
</insert>
UserDao.java
// 插入数据;多参数三种方式:默认Map、使用Map传参和使用注解别名
public int insertByColumns(String name, int age);
public int insertByZhuJie(@Param("name") String name, @Param("age") int age);
public int insertByMap(Map map);
TestDao.java
// 多参数插入数据的三种方式
@Test
public void testInsertByColumns() {
UserDao userDao = session.getMapper(UserDao.class);
String name = "insertByColumns";
int age = 33;
// int n = userDao.insertByColumns(name, age);
// int n = userDao.insertByZhuJie(name, age); Map map = new HashMap();
map.put("name", name);
map.put("age", age);
int n = userDao.insertByMap(map); session.commit();
System.out.println("插入数据name:" + name);
System.out.println(n);
}
最新文章
- ThreadLocal()理解
- NOIP201105铺地毯
- java.lang.StackOverflowError: stack size 8MB
- TP复习10
- Devexpress GridControl z
- c/c++强制类型转换
- 46 关于Linux的I/O重定向
- 使用css3背景渐变中的透明度来设置不同颜色的背景渐变
- eclipse 不能切换输入法
- 怎么看时序图--nand flash的读操作详解(转载)
- C#中数组,ArrayList与List对象的区别
- Spring第五篇【cglib、手动实现AOP编程】
- 真实场景的虚拟视点合成(View Synthsis)详解
- jenkins配置findbugs失败---不要随便忽略警告!一个因为文件所有权引发的血案
- linux 使用不安全的sprintf函数,存储字符越界导致程序莫名崩溃问题
- UIActivityIndicatorView 的使用
- 斐波拉契数列(用JavaScript和Python实现)
- diskpart setid value list
- LeetCode:35. Search Insert Position(Easy)
- [转] 商业应用中Java浮点数的精确计算及表示