Mybatis传递实体对象只能直接获取,不能使用对象.属性方式获取

mybatis的自动识别参数功能很强大,pojo实体类可以直接写进mapper接口里面,不需要在mapper.xml文件中添加paramType,但是加了可以提高mybatis的效率

不加@Param注解,取值的时候直接写属性

java 复制代码
//这里是单参数,可以不加param!!!
    //pojo实体类可以直接添加进去,可以自动识别属性名当作参数传进去!
    int createUser(User user);
xml 复制代码
<!--加不加parameterType无伤大雅,只是可以加快效率
mybatis可以自动识别参数类型-->
    <insert id="createUser" >
        insert into user values (#{userId},#{cardType},#{cardNo},#{userName},#{userSex},#{userAge},#{userRole})
    </insert>

加了@Param注解,取值必须使用对象.属性的方式

java 复制代码
  //这里是单参数,可以不加param!!!
    //pojo实体类可以直接添加进去,可以自动识别属性名当作参数传进去!
    int createUser(
            @Param("user")
            User user);
xml 复制代码
加不加parameterType无伤大雅,只是可以加快效率
mybatis可以自动识别参数类型-->
    <insert id="createUser" >
        insert into user values (#{user.userId},#{user.cardType},#{user.cardNo},#{user.userName},#{user.userSex},#{user.userAge},#{user.userRole})
    </insert>

idea 中 Mapper 接口放在 resources(Resources Root)目录下,只能直接写属性,不能使用对象.属性取值

相关推荐
一嘴一个橘子1 分钟前
spring-aop 的 基础使用 - 4 - 环绕通知 @Around
java
小毅&Nora17 分钟前
【Java线程安全实战】⑨ CompletableFuture的高级用法:从基础到高阶,结合虚拟线程
java·线程安全·虚拟线程
码农小韩18 分钟前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
冰冰菜的扣jio18 分钟前
Redis缓存中三大问题——穿透、击穿、雪崩
java·redis·缓存
木风小助理19 分钟前
`mapfile`命令详解:Bash中高效的文本至数组转换工具
开发语言·chrome·bash
yyy(十一月限定版)28 分钟前
初始matlab
开发语言·matlab
LawrenceLan29 分钟前
Flutter 零基础入门(九):构造函数、命名构造函数与 this 关键字
开发语言·flutter·dart
listhi52029 分钟前
基于MATLAB的支持向量机(SVM)医学图像分割方法
开发语言·matlab
小璐猪头30 分钟前
专为 Spring Boot 设计的 Elasticsearch 日志收集 Starter
java
hui函数34 分钟前
如何解决 pip install 编译报错 g++: command not found(缺少 C++ 编译器)问题
开发语言·c++·pip