用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中

我们先来看Mapper接口中的@Select方法

package Mapper; @Mapper
public interface Mapper { @Select("select s_id id,s_name name,class_id classid from student where  s_name= #{aaaa} and class_id = #{bbbb}") public Student select(@Param("aaaa") String name,@Param("bbbb")int class_id);  @Delete...... @Insert...... }

1、@Select(……)注解的作用就是告诉mybatis框架,执行括号内的sql语句

  2、s_id id,s_name name,class_id classid  格式是 字段名+属性名,

  例如s_id是数据库中的字段名,id是类中的属性名

  这段代码的作用就是实现数据库字段名和实体类属性的一一映射,不然数据库不知道如何匹配

  3、where  s_name= #{aaaa} and class_id = #{bbbb} ,表示sql语句要接受2个参数,一个参数名是aaaa,一个参数名是bbbb;

  如果要正确的传入参数,那么就要给参数命名,因为不用xml配置文件,那么我们就要用别的方式来给参数命名,这个方式就是@Param注解

  4、在方法参数的前面写上@Param("参数名"),表示给参数命名,名称就是括号中的内容

  public Student select(@Param("aaaa") String name,@Param("bbbb")int class_id);

  给入参 String name 命名为aaaa,然后sql语句....where  s_name= #{aaaa} 中就可以根据aaaa得到参数值了。

  5、如果传入的参数是基本类型参数和实体类对象。

public List<student> selectuser(@Param(value = "page")int pn ,@Param(value = "st")student student);<select id="selectuser" resultType="com.user.entity.student">SELECT * FROM studentwhere sname like concat(concat("%",#{st.sname}),"%")LIMIT #{page} ,5
</select>

Mybatis中@Param的用法和作用相关推荐

  1. spring中@param和mybatis中@param使用区别

    spring中@param /*** 查询指定用户和企业关联有没有配置角色* @param businessId memberId* @return*/int selectRoleCount(@Par ...

  2. MyBatis中jdbcType=INTEGER、VARCHAR作用

    Mapper.xml中 pid = #{pid,jdbcType=INTEGER} pid = #{pid} 都可以用 Mybatis中什么时候应该声明jdbcType? 当Mybatis不能自动识别 ...

  3. sql语句中as的用法和作用

    最近做项目中,偶然发现在SQL语句中出现了as这个词,一直以来没怎么关注是什么意思,毕竟影响不大,今天有空,就在网上查了一些资料,大概有了一些的了解 我们的Sql语句在很多数据库中都是通用的,比如像M ...

  4. Mybatis中的<![CDATA[ ]]>作用

    在Mybatis的映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决. <![CD ...

  5. html中data-属性作用,html中的data-*的用法和作用 自定义属性

    定义和用法 **data- *** 属性用于存储私有页面后应用的自定义数据. **data- *** 属性可以在所有的 HTML 元素中嵌入数据. 自定义的数据可以让页面拥有更好的交互体验(不需要使用 ...

  6. mybatis中useGeneratedKeys和keyProperty的作用

    使用场景:将对象插入id为自增的表中,同时在程序中仍需要用到该对象插入后自增的ID 方法:配置 useGeneratedKeys="true"  keyProperty=" ...

  7. JS中location的用法和作用

    window.location 对象所包含的属性: 属性 描述 hash 从井号 (#) 开始的 URL(锚) host 主机名和当前 URL 的端口号 hostname 当前 URL 的主机名 hr ...

  8. mysql中delimiter的用法和作用

    delimiter命令指定了mysql解释器命令行的结束符,默认为";" 说白了就是告知命令到哪儿结束,可以执行此命令了 但一般在存储过程中会有多个分号,我们并不希望一遇到分号就执 ...

  9. MyBatis中动态SQL标签及作用

    注意:动态 SQL 主要是来解决查询条件不确定的情况,在程序运行期间,根据提交的条件动态的完成查询. 1.<if> 标签 if 是为了判断传入的值是否符合某种规则,可以让我们有选择的加入 ...

最新文章

  1. 电脑知识:电脑无法开机解决方案,赶紧收藏吧!
  2. android 揭示动画_如何使用意图揭示函数名称使代码更好
  3. 回溯专题leetcode
  4. 频繁自燃 烧伤消费者!充电宝一哥召回部分产品
  5. 文件系统权限引起IIS站点总跳登录页面
  6. java多张图片合成一张_利用溶图技巧把多张图片合成一张奇幻风格图片教程
  7. linux 查看gcc安装目录,linux安装GCC详解
  8. 精美商业计划书PPT模版大合集(共107份,900M)
  9. DS18B20温度传感器学习笔记
  10. 0-博客笔记导读目录(全部)-20220506backup
  11. plist 文件详解
  12. 10x 程序员工作法 - 划重点 | “自动化”主题的重点内容回顾汇总
  13. 关于python中的数学方法(math)(全)
  14. vue中使用 svg图片
  15. r1笔记第9天 逻辑英语随堂笔记 (01)
  16. 在MATLAB中调用 Python
  17. 微信迎来最新改版,做这几款微信插件提高用户体验!
  18. No.20-基础-渗透学习
  19. 详解Java NIO,IO与NIO的区别
  20. 网络投票器软件摄影投票比赛链接制作手机制作投票链接手机投票

热门文章

  1. JS中popup.js
  2. Swift 开发的工具类,主要是提供正则表达式及其它,Github会长期维护
  3. docker高级应用之动态扩展容器空间大小
  4. 原生希望原生JavaScript开篇
  5. CCNA配置试验之七 PPP中PAP和CHAP的验证
  6. bootargs中的环境变量说明和一些常用的uboot命令
  7. 【pyqt5学习】——items view相关控件(list view、table view)
  8. 打开word2016总是出现很抱歉,此功能看似中断需要修复。。问题解决办法
  9. 热带雨林绘画软件测试,儿童画教程|色彩练习与思维创想——好热闹的热带雨林!...
  10. 新唐c语言怎么计算指数运算,C语言位域精解