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

相关推荐
chao1898442 小时前
在Qt中实现任意N阶贝塞尔曲线的绘制与动态调节
开发语言·qt
真正的醒悟2 小时前
什么是标准等保架构
开发语言·php
郑州光合科技余经理2 小时前
同城020系统架构实战:中台化设计与部署
java·大数据·开发语言·后端·系统架构·uni-app·php
LcVong3 小时前
Android 25(API 25)+ JDK 17 环境搭建
android·java·开发语言
苏宸啊3 小时前
C++string(一)
开发语言·c++
老鱼说AI3 小时前
深入理解计算机系统1.5:抽象的重要性:操作系统与虚拟机
c语言·开发语言·汇编
a程序小傲3 小时前
高并发下如何防止重复下单?
java·开发语言·算法·面试·职场和发展·状态模式
uoKent3 小时前
c++中的封装、继承与多态
开发语言·c++·算法
sww_10263 小时前
智能问数系统(二):数据分析师Python
java·前端·python
Mr -老鬼3 小时前
UpdateEC - EasyClick 项目热更新系统(Rust构建)
开发语言·后端·rust