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)目录下,只能直接写属性,不能使用对象.属性取值

相关推荐
不要em0啦9 分钟前
从0开始学python:简单的练习题4
开发语言·python
我想吃余10 分钟前
【C++篇】C++11:线程库
开发语言·c++
小李云雾12 分钟前
Python 多任务编程入门:进程的创建、同步与进程池使用
开发语言·数据库·python·oracle
05大叔16 分钟前
MybatisPlus
java·服务器·前端
henreash20 分钟前
C#调用F#的MailboxProcessor
开发语言·c#
CSDN_RTKLIB20 分钟前
【静态初始化与动态初始化】术语对比
开发语言·c++
天上飞的粉红小猪1 小时前
线程同步与互斥
linux·开发语言·c++
未来之窗软件服务1 小时前
幽冥大陆(八十九 ) 自动化在线打包任意平台软件 —东方仙盟练气期
开发语言·c#·自动化·仙盟创梦ide·东方仙盟·在线打包
Rysxt_1 小时前
鸿蒙开发语言ArkTS:全面解析优缺点与未来前景
开发语言·华为·harmonyos
java1234_小锋1 小时前
RocketMQ的Producer是如何发送消息的?
java·rocketmq·java-rocketmq