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

相关推荐
风清云淡_A16 小时前
【JPA】spring集成jpa实战之数据增删改查入门教程(二)
java
让我上个超影吧16 小时前
天机学堂——播放进度方案优化
java·spring boot·redis·spring cloud
月空MoonSky16 小时前
解决使用Notepad++出现异型字或者繁体字体问题
java·javascript·notepad++
hqwest16 小时前
码上通QT实战37--项目总结
开发语言·qt·软件开发·系统集成·设备选型
星迹7016 小时前
C语言相关的数电知识
c语言·开发语言
hakesashou16 小时前
python 如何使数组中的元素不重复
开发语言·python
2501_9444241216 小时前
Flutter for OpenHarmony游戏集合App实战之消消乐下落填充
android·开发语言·flutter·游戏·harmonyos
Filotimo_16 小时前
JWT的概念
java·开发语言·python
min18112345616 小时前
软件升级全流程步骤详解
android·java·服务器
黎雁·泠崖16 小时前
Java字符串系列总结篇|核心知识点速记手册
java·开发语言